void Update() { switch (currentState) { case EnemyState.Idle: if (canIdle) { enemyIdle.Idle(); } else { SwitchCurrentState("Moving"); } break; case EnemyState.Moving: if (canMove) { enemyMovement.UseMovement(); } else { SwitchCurrentState("Idle"); } break; case EnemyState.Death: enemyDeath.Death(); break; case EnemyState.Hurt: break; case EnemyState.Attack: if (canAttack) { enemyAttack.Attack(); } else { SwitchCurrentState("Moving"); } break; case EnemyState.Falling: break; default: break; } }