Пример #1
0
 void EnemyLogic()
 {
     FindAttacableObject();
     ReachedRandomPosition = ConvertFlag(RoamPosition);
     if (Attacable != null)
     {
         state = StateEnum.State.Attaking;
     }
     if (Attacable == null && !ReachedRandomPosition)
     {
         state = StateEnum.State.Searching;
         Search();
     }
 }
Пример #2
0
    IEnumerator FSM()
    {
        while (Alive)
        {
            switch (state)
            {
            case StateEnum.State.Attaking:
                try
                {
                    Attacking(60 / thisenem.FireRate, Attacable);
                }
                catch (Exception)
                {
                    state = StateEnum.State.Searching;
                }
                break;

            case StateEnum.State.Searching:
                Search();
                break;
            }
            yield return(null);
        }
    }