コード例 #1
0
        //public void SetMyAttacker(Transform attacker)
        //{
        //    myAttacker = attacker;
        //}

        public void Distract(Vector3 distractionPos)
        {
            locationOfInterest = distractionPos;
            if (currentState == patrolState)
            {
                currentState = alertState;
            }
        }
コード例 #2
0
 void ActivateFleeState()
 {
     if (currentState == struckState)
     {
         capturedState = fleeState;
         return;
     }
     currentState = fleeState;
 }
コード例 #3
0
        IEnumerator RecoverFromStruckState()
        {
            yield return(new WaitForSeconds(1.5f));

            nPCMaster.CallEventNPCRecoveredAnim();
            if (rangeWeapon != null)
            {
                rangeWeapon.SetActive(true);
            }
            if (myNavMeshAgent.enabled)
            {
                myNavMeshAgent.isStopped = false;
            }
            currentState = capturedState;
        }
コード例 #4
0
 void ActivateStruckState(int dummy)
 {
     StopAllCoroutines();
     if (currentState != struckState)
     {
         capturedState = currentState;
     }
     if (rangeWeapon != null)
     {
         rangeWeapon.SetActive(false);
     }
     if (myNavMeshAgent.enabled)
     {
         myNavMeshAgent.isStopped = true;
     }
     currentState     = struckState;
     isMeleeAttacking = false;
     nPCMaster.CallEventNPCStruckAnim();
     StartCoroutine(RecoverFromStruckState());
 }
コード例 #5
0
 void ActivatePatrolState()
 {
     currentState = patrolState;
 }