Пример #1
0
        void ChasePlayer()
        {
            if (enemyMaster.target != null)
            {
                Player_Master.instance.playerIsHaunted = true;
                if (!enemyMaster.isInAttack)
                {
                    navMeshAgent.SetDestination(enemyMaster.target.position);

                    if (navMeshAgent.remainingDistance > navMeshAgent.stoppingDistance)
                    {
                        enemyMaster.CallEventEnemyPursuing();
                    }
                    else
                    {
                        enemyMaster.CallEventEnemyReachedTarget();
                    }
                }
                else
                {
                    navMeshAgent.ResetPath();
                }
                checkForHaunt = false;
            }
            else if (!checkForHaunt)
            {
                Player_Master.instance.playerIsHaunted = false;
                checkForHaunt = true;
            }
        }
Пример #2
0
 void CheckForWandering()
 {
     if (enemyMaster.target == null)
     {
         if (!enemyMaster.isOnRoute)
         {
             if (GetNextDestination(out nextDestinationPosition))
             {
                 agent.SetDestination(nextDestinationPosition);
                 enemyMaster.isOnRoute = true;
                 enemyMaster.CallEventEnemyWalking();
             }
         }
         else
         {
             if (agent.remainingDistance <= agent.stoppingDistance)
             {
                 enemyMaster.CallEventEnemyReachedTarget();
             }
         }
     }
 }