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;
	}
}
Example #2
0
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);
	}
}