protected override void SetupStates() { SetAwareness(areaAwareness); State patrol = new Patrol(this, patrolData); State followTarget = new FollowTarget(this); Transition patrolToFollow = new HasTarget(followTarget, areaAwareness); Transition followToPatrol = new TargetIsFar(patrol, distanceToStopFollowing, areaAwareness); patrol.SetTransitions(patrolToFollow); followTarget.SetTransitions(followToPatrol); SetupFirstState(patrol); }