Пример #1
0
        public IEnumerator State_Patrol()
        {
            currentState = AI_ENEMY_STATE.PATROL;
            anim.SetInteger("State", 1);
            _audio.Stop();
            while (currentState == AI_ENEMY_STATE.PATROL)
            {
                Y           = 0.0f;
                rayDistance = 0.5f;
                if (hit.collider)
                {
                    Flip();
                }
                else
                {
                    Move();
                }

                if (CanSeePlayer)
                {
                    StartCoroutine(State_Attack());
                    yield break;
                }

                yield return(null);
            }
        }
Пример #2
0
 public IEnumerator State_Death()
 {
     dead             = true;
     currentState     = AI_ENEMY_STATE.DEATH;
     gameObject.layer = 10;
     anim.SetInteger("State", 5);
     _audio.Stop();
     yield return(null);
 }
Пример #3
0
        public IEnumerator State_Attack()
        {
            currentState = AI_ENEMY_STATE.ATTACK;
            anim.SetInteger("State", 2);
            while (currentState == AI_ENEMY_STATE.ATTACK)
            {
                if (!CanSeePlayer)
                {
                    StartCoroutine(State_Patrol());
                    yield break;
                }

                yield return(null);
            }
        }
Пример #4
0
        //--------------------------------------------------

        #region States

        //--------------------------------------------------

        public IEnumerator State_Idle()
        {
            currentState = AI_ENEMY_STATE.IDLE;
            anim.SetInteger("State", 0);
            _audio.Stop();
            while (currentState == AI_ENEMY_STATE.IDLE)
            {
                if (active)
                {
                    StartCoroutine(State_Patrol());
                    yield break;
                }

                yield return(null);
            }
        }