void Window_MenuStatus::Refresh() { contents->SetTransparentColor(windowskin->GetTransparentColor()); contents->Clear(); DisplayUi->SetBackcolor(Cache::system_info.bg_color); item_max = Game_Party::GetActors().size(); int y = 0; for (int i = 0; i < item_max; ++i) { Game_Actor* actor = Game_Party::GetActors()[i]; int face_x = 0; if (Player::engine == Player::EngineRpg2k3) { face_x = actor->GetBattleRow() == 1 ? 5 : 0; } DrawActorFace(actor, face_x, i*48 + y); DrawActorName(actor, 48 + 8, i*48 + 2 + y); DrawActorClass(actor, 48 + 8 + 88, i*48 + 2 + y); DrawActorLevel(actor, 48 + 8, i*48 + 2 + 16 + y); DrawActorState(actor, 48 + 8 + 42, i*48 + 2 + 16 + y); DrawActorExp(actor, 48 + 8, i*48 + 2 + 16 + 16 + y); DrawActorHp(actor, 48 + 8 + 106, i*48 + 2 + 16 + y); DrawActorSp(actor, 48 + 8 + 106, i*48 + 2 + 16 + 16 + y); y += 10; } }
void Scene_Menu::UpdateActorSelection() { if (Input::IsTriggered(Input::CANCEL)) { Game_System::SePlay(Main_Data::game_data.system.cancel_se); command_window->SetActive(true); menustatus_window->SetActive(false); menustatus_window->SetIndex(-1); } else if (Input::IsTriggered(Input::DECISION)) { Game_System::SePlay(Main_Data::game_data.system.decision_se); switch (command_options[command_window->GetIndex()]) { case Skill: Scene::Push(EASYRPG_MAKE_SHARED<Scene_Skill>(menustatus_window->GetIndex())); break; case Equipment: Scene::Push(EASYRPG_MAKE_SHARED<Scene_Equip>(menustatus_window->GetIndex())); break; case Status: Scene::Push(EASYRPG_MAKE_SHARED<Scene_Status>(menustatus_window->GetIndex())); break; case Row: { Game_Actor* actor = Game_Party::GetActors()[menustatus_window->GetIndex()]; actor->GetBattleRow() == -1 ? actor->SetBattleRow(1) : actor->SetBattleRow(-1); menustatus_window->Refresh(); break; } default: assert(false); break; } command_window->SetActive(true); menustatus_window->SetActive(false); menustatus_window->SetIndex(-1); } }