BaseState* StateMachine::PopState() { BaseState* lastState = stateStack.back(); stateStack.pop_back(); lastState->Destroy(); return lastState; }
BaseState* StateMachine::SwitchState(BaseState* a_gameState) { BaseState* lastState = stateStack.back(); lastState->Destroy(); stateStack.pop_back(); stateStack.push_back(a_gameState); a_gameState->Initialize(); return lastState; }