public override IEnumerator OnEnterInDirectBattle()
    {
        animationController.OnIdle();
        yield return(StartCoroutine(EnemyUnitUtils.MeleeAttackCoroutineAndInvokeAction(this)));

        SM.SetState(States.PostBattle);
        yield break;
    }
    public override IEnumerator OnEnterDeath()
    {
        UnitCollider.enabled = false;
        yield return(StartCoroutine(EnemyUnitUtils.StopWalkingOnPath(Walker)));

        animationController.OnDeath();
        yield return(StartCoroutine(DieAfterTwoSeconds()));

        yield break;
    }
 public override bool IsTargetable()
 {
     return(EnemyUnitUtils.StandardIsTargetable(this));
 }
    public override IEnumerator OnEnterPostBattle()
    {
        yield return(StartCoroutine(EnemyUnitUtils.StandardPostBattleCheck(this)));

        yield break;
    }
 // Start is called before the first frame update
 public override IEnumerator OnEnterPreBattle()
 {
     animationController.OnIdle();
     yield return(StartCoroutine(EnemyUnitUtils.StopWalkingOnPath(Walker)));
 }