void EnemyLogic() { FindAttacableObject(); ReachedRandomPosition = ConvertFlag(RoamPosition); if (Attacable != null) { state = StateEnum.State.Attaking; } if (Attacable == null && !ReachedRandomPosition) { state = StateEnum.State.Searching; Search(); } }
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); } }