// OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { if (soldierController.NavAgent.remainingDistance <= 0.1f) { soldierController.NavAgent.SetDestination(soldierController.GetRandomPointInArea()); } animator.SetFloat("MoveVelocity", soldierController.NavAgent.velocity.magnitude); animator.SetBool("EnemyInRange", soldierController.enemyInRange); }
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { soldierController = animator.GetComponent <SoldierController>(); Debug.Log(soldierController.gameObject.name + " Entered IDLE State"); soldierController.NavAgent.destination = soldierController.GetRandomPointInArea(); }