Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- public class TickerbombControl : MonoBehaviour {
- public ColliderTester ColliderAccess;
- // This is used because we "Start" is called before we know our edge.
- public bool Initialize;
- private bool TopEdge;
- private bool LeftEdge;
- private bool BottomEdge;
- private bool RightEdge;
- public enum Movement { NotSet, MovingLeft, MovingDown, MovingRight, MovingUp, }
- public Movement MovementPath;
- public float speed;
- private SpeedControl.SpeedDirections Speed;
- void Start()
- {
- Speed = new SpeedControl.SpeedDirections(speed);
- }
- void Update ()
- {
- // Waiting for the Collider to tell us when it's settled in, since our initial MovementPath is based on which edge we're on.
- if (!Initialize)
- Initialize = ColliderAccess.Initialized;
- TopEdge = ColliderAccess.HitTop;
- BottomEdge = ColliderAccess.HitBottom;
- LeftEdge = ColliderAccess.HitLeft;
- RightEdge = ColliderAccess.HitRight;
- // Set our initial movement path after we're sure it's settled in.
- if (!Initialize)
- {
- if (TopEdge)
- MovementPath = Movement.MovingLeft;
- else if (LeftEdge)
- MovementPath = Movement.MovingDown;
- else if (BottomEdge)
- MovementPath = Movement.MovingRight;
- else if (RightEdge)
- MovementPath = Movement.MovingUp;
- else
- MovementPath = Movement.MovingRight;
- }
- switch (MovementPath)
- {
- case Movement.MovingRight:
- transform.Translate(Speed.RightSpeed);
- break;
- case Movement.MovingUp:
- transform.Translate(Speed.UpSpeed);
- break;
- case Movement.MovingDown:
- transform.Translate(Speed.DownSpeed);
- break;
- case Movement.MovingLeft:
- transform.Translate(Speed.LeftSpeed);
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement