1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #include "ui/hotseat_prebattle/prebattlescene.h"
- #include "player.h"
- #include "playermanager.h"
- #include "race.h"
- #include "racemanager.h"
- #include "hotseatgame/gameproperties.h"
- #include "gui/guiscenemanager.h"
- #include "ui_prebattlescene.h"
- PreBattleScene::PreBattleScene(QWidget *parent) :
- Scene(parent),
- ui(new Ui::PreBattleScene)
- {
- ui->setupUi(this);
- watcher = new ButtonEventListener(this);
- ui->to_battle_button->installEventFilter(watcher);
- }
- PreBattleScene::~PreBattleScene()
- {
- delete ui;
- }
- void PreBattleScene::init() {
- for (unsigned i = 0; i < GameProperties::PLAYERS_NUMBER; i++) {
- Player* player = PlayerManager::getInstance().getPlayer(i);
- QLabel* name = findChild<QLabel*>("player_" + QString::number(i) + "_name");
- if (name)
- name->setText(player->getPlayerName());
- QLabel* race = findChild<QLabel*>("player_" + QString::number(i) + "_race");
- if (race)
- race->setText("<img src=\":/assets/units/" + player->getRace()->getRaceId() + "/icon.png\" width=\"80\" height=\"80\"/>");
- auto units = player->getUnitsAsVector();
- for (unsigned unit_number = 0; unit_number < units.size(); unit_number++) {
- QLabel* unit_icon = findChild<QLabel*>("player_" + QString::number(i) + "_chosen_unit_" + QString::number(unit_number));
- if (!unit_icon) {
- continue;
- }
- QString race_name = player->getRace()->getRaceId();
- QString unit_name = units[unit_number]->getUnitId();
- unit_icon->setText("<img src=\":/assets/units/" + race_name + "/" + unit_name + "/icon.png\" width=\"58\" height=\"58\"/>");
- }
- for (unsigned unit_number = units.size(); unit_number < GameProperties::MAX_PARTY_SIZE; unit_number++) {
- QLabel* unit_icon = findChild<QLabel*>("player_" + QString::number(i) + "_chosen_unit_" + QString::number(unit_number));
- if (!unit_icon) {
- continue;
- }
- unit_icon->hide();
- }
- QWidget* units_widget = findChild<QWidget*>("player_" + QString::number(i) + "_units");
- if (units_widget)
- units_widget->resize(64 * units.size(), 64);
- }
- }
- void PreBattleScene::on_to_battle_button_clicked()
- {
- GuiSceneManager::getInstance().changeScene("hotseatgame");
- }
|