var forwardSpeed : int = 5;
var CheckWide : int = 23;
var rotateSpeed : int = 1;
var target1 : Transform;
var lookAt : boolean;
var turnLeft : boolean;
var turnRight : boolean;
function Start () {
target1 = GameObject.FindWithTag ("PlayerGuy").transform;
lookAt = false;
turnLeft = false;
turnRight = false;
}
function Update () {
var forward : Vector3 = transform.TransformDirection(Vector3.forward ) * 9;
var forwardleft : Vector3 = transform.TransformDirection(Vector3.forward + -Vector3.right ) * 9;
var forwardright : Vector3 = transform.TransformDirection(Vector3.forward + Vector3.right ) * 9;
Debug.DrawRay (transform.position, forwardleft, Color.blue);
Debug.DrawRay (transform.position, forwardright, Color.blue);
Debug.DrawRay (transform.position, forward, Color.green);
if (lookAt){
transform.LookAt(target1);
}
if(target1){
var dist = Vector3.Distance(target1.position, transform.position);
print (dist);
if (dist <= 10 ){
lookAt = true;
if (!Physics.Raycast (transform.position, transform.forward, CheckWide)) {
transform.Translate(transform.forward * forwardSpeed * Time.deltaTime);
}
else if (Physics.Raycast (transform.position, transform.forward, CheckWide)) {
lookAt = false;
Turn();
}
}
}
// move forward if nothings there
if (!Physics.Raycast (transform.position, transform.forward, CheckWide)) {
transform.Translate(transform.forward * forwardSpeed * Time.deltaTime);
}
}
function Turn () {
lookAt = false;
var randomTurn : int = Random.Range(1,3);
print (randomTurn);
if (!turnRight){
if (randomTurn == 1){
turnRight = false;
turnLeft = true;
if (turnLeft){
yield WaitForSeconds (2);
transform.Rotate(0, Time.deltaTime*-10, 0, Space.World);
yield WaitForSeconds(20);
turnLeft = false;
}
}
}
if (!turnLeft){
if (randomTurn == 2){
turnLeft = false;
turnRight = true;
if (turnRight){
yield WaitForSeconds (2);
transform.Rotate(0, Time.deltaTime*10, 0, Space.World);
yield WaitForSeconds (20);
turnRight = false;
}
}
}
}
edited*