void Scene_Battle_Rpg2k::ProcessInput() { if (Input::IsTriggered(Input::DECISION)) { switch (state) { case State_Start: // no-op break; case State_SelectOption: // Interpreter message boxes pop up in this state if (!message_window->GetVisible()) { OptionSelected(); } break; case State_SelectActor: SetState(State_SelectCommand); SelectNextActor(); break; case State_AutoBattle: // no-op break; case State_SelectCommand: CommandSelected(); break; case State_SelectEnemyTarget: EnemySelected(); break; case State_SelectAllyTarget: AllySelected(); break; case State_Battle: // no-op break; case State_SelectItem: ItemSelected(); break; case State_SelectSkill: SkillSelected(); break; case State_Victory: case State_Defeat: case State_Escape: // no-op break; } } if (Input::IsTriggered(Input::CANCEL)) { Game_System::SePlay(Game_System::GetSystemSE(Game_System::SFX_Cancel)); switch (state) { case State_Start: case State_SelectOption: // no-op break; case State_SelectActor: case State_AutoBattle: SetState(State_SelectOption); break; case State_SelectCommand: --actor_index; SelectPreviousActor(); break; case State_SelectEnemyTarget: case State_SelectItem: case State_SelectSkill: SetState(State_SelectCommand); break; case State_SelectAllyTarget: SetState(previous_state); break; case State_Battle: // no-op break; case State_Victory: case State_Defeat: case State_Escape: // no-op break; } } }
void Scene_Battle_Rpg2k3::ProcessInput() { if (Input::IsTriggered(Input::DECISION)) { switch (state) { case State_Start: // no-op break; case State_SelectOption: // Interpreter message boxes pop up in this state if (!message_window->GetVisible()) { OptionSelected(); } break; case State_SelectActor: // no-op break; case State_AutoBattle: // no-op break; case State_SelectCommand: CommandSelected(); break; case State_SelectEnemyTarget: EnemySelected(); break; case State_SelectAllyTarget: AllySelected(); break; case State_SelectItem: ItemSelected(); break; case State_SelectSkill: SkillSelected(); break; case State_AllyAction: case State_EnemyAction: case State_Battle: // no-op break; case State_Victory: if (message_window->IsNextMessagePossible()) { message_window->Update(); } else { Scene::Pop(); } break; case State_Defeat: if (Player::battle_test_flag || Game_Temp::battle_defeat_mode != 0) { Scene::Pop(); } else { Scene::Push(EASYRPG_MAKE_SHARED<Scene_Gameover>()); } break; case State_Escape: // no-op break; } } if (Input::IsTriggered(Input::CANCEL)) { Game_System::SePlay(Data::system.cancel_se); switch (state) { case State_Start: case State_SelectOption: // no-op break; case State_SelectActor: case State_AutoBattle: SetState(State_SelectOption); break; case State_SelectCommand: SetState(State_SelectOption); break; case State_SelectEnemyTarget: case State_SelectItem: case State_SelectSkill: SetState(State_SelectCommand); break; case State_SelectAllyTarget: SetState(State_SelectItem); break; case State_Battle: case State_AllyAction: case State_EnemyAction: // no-op break; case State_Victory: case State_Defeat: if (message_window->IsNextMessagePossible()) { message_window->Update(); } else { Scene::Pop(); } break; case State_Escape: // no-op break; } } }