using UnityEngine; using System.Collections; public class Patrol : MonoBehaviour { public float patrolDistance; public int waitTime; public float speed; public bool startRight; public int direction = 1; private Vector3 startPosition; private int curWait = 0; private Vector3 move = new Vector3(1, 0.0f ,0.0f); // Use this for initialization void Start () { startPosition = transform.position; if (!startRight) { transform.Rotate (Vector3.up * 180); direction *= -1; } } // Update is called once per frame void Update () { Vector3 curPosition = transform.position; move = new Vector3(1, 0.0f ,0.0f); move.x *= speed; move *= direction; if (curWait == 0) { if (Mathf.Abs(startPosition.x - curPosition.x) < patrolDistance) transform.position += move; else curWait = waitTime; } else if (curWait == 1) { transform.Rotate (Vector3.up * 180); direction *= -1; transform.position -= move; curWait--; } else curWait--; } void OnTriggerStay2D(Collider2D other) { if (other.tag == "Player") { Debug.Log(other.name); other.transform.parent.transform.position += move; } } }