Vector3 Pursuit(PhysicsMoveCtrl evader) { Vector3 toEvader = evader.transform.position - transform.position; float relativeHeading = Vector3.Dot(transform.forward, evader.transform.position); if ((Vector3.Dot(toEvader, transform.forward) > 0f) && (relativeHeading < -0.95f)) { return(Seek(evader.transform.position)); } return(Vector3.zero); }
public SteeringBehaviours(PhysicsMoveCtrl moveCtrl) { this.moveCtrl = moveCtrl; this.rigidbody = moveCtrl.rigidbody; this.transform = moveCtrl.transform; isDoingBehavior = new bool[(int)eSteeringBehaviour.EndOfBehaviour]; for (int i = 0; i < isDoingBehavior.Length; i++) { isDoingBehavior[i] = false; } behaviourCnt = isDoingBehavior.Length; }