-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathuserbuildmenuwidget.cpp
More file actions
75 lines (62 loc) · 2.31 KB
/
userbuildmenuwidget.cpp
File metadata and controls
75 lines (62 loc) · 2.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include "userbuildmenuwidget.h"
#include "ui_userbuildmenuwidget.h"
#include "tower.h"
#include <QDebug>
UserBuildMenuWidget::UserBuildMenuWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::UserBuildMenuWidget)
{
ui->setupUi(this);
ui->mp_TreeTowerButton->setIcon(QIcon(":/Images/treetower50.png"));
ui->mp_AcidTowerButton->setIcon(QIcon(":/Images/acidtower50.png"));
ui->mp_IceTowerButton->setIcon(QIcon(":/Images/icetower50.png"));
ui->mp_StoneTowerButton->setIcon(QIcon(":/Images/stonetower50.png"));
ui->mp_UpgradeTowerButton->setIcon(QIcon(":/Images/upgrade.png"));
ui->mp_SellTowerButton->setIcon(QIcon(":/Images/sell40.png"));
mp_ButtonGroup = new QButtonGroup(this);
mp_ButtonGroup->addButton(ui->mp_TreeTowerButton, Tower::ETowerId_Tree);
mp_ButtonGroup->addButton(ui->mp_AcidTowerButton, Tower::ETowerId_Acid);
mp_ButtonGroup->addButton(ui->mp_IceTowerButton, Tower::ETowerId_Ice);
mp_ButtonGroup->addButton(ui->mp_StoneTowerButton, Tower::ETowerId_Stone);
mp_ButtonGroup->addButton(ui->mp_UpgradeTowerButton, Tower::ETowerId_Upgrade);
mp_ButtonGroup->addButton(ui->mp_SellTowerButton, Tower::ETowerId_Sell);
onSelectionCleared();
onGamePaused();
connect(mp_ButtonGroup, SIGNAL(buttonClicked(int)), this, SLOT(onButtonClicked(int)));
}
UserBuildMenuWidget::~UserBuildMenuWidget()
{
delete ui;
}
void UserBuildMenuWidget::onGameResumed()
{
for (auto *Button : mp_ButtonGroup->buttons())
Button->setEnabled(true);
ui->mp_UpgradeTowerButton->setDisabled(true);
ui->mp_SellTowerButton->setDisabled(true);
}
void UserBuildMenuWidget::onGamePaused()
{
for (auto *Button : mp_ButtonGroup->buttons())
Button->setDisabled(true);
}
void UserBuildMenuWidget::onTowerSelected(bool CanBeUpgraded)
{
ui->mp_UpgradeTowerButton->show();
ui->mp_UpgradeTowerButton->setEnabled(CanBeUpgraded);
ui->mp_SellTowerButton->setEnabled(true);
}
void UserBuildMenuWidget::onSelectionCleared()
{
ui->mp_UpgradeTowerButton->setDisabled(true);
ui->mp_SellTowerButton->setDisabled(true);
}
void UserBuildMenuWidget::onButtonClicked(int buttonId)
{
if (buttonId == Tower::ETowerId_Upgrade)
emit UpgradeWanted();
else if (buttonId == Tower::ETowerId_Sell)
emit SellWanted();
else
emit BuildWanted(buttonId);
}