private void CheckStateSwap() { if (returnedState != null) { currentState.Exit(this); currentState = returnedState; currentState.Enter(this); UpdateStateUI(currentState.stateName); } }
public void changeState(BossState newState) { if (currentBossState != null) { // Exit from previous state StartCoroutine(currentBossState.Exit()); } // Set current state to a new one currentBossState = newState; // Initialize new phase StartCoroutine(currentBossState.Enter()); }