summaryrefslogtreecommitdiff
path: root/src/gui/magic.cpp
diff options
context:
space:
mode:
authorPhilipp Sehmisch <crush@themanaworld.org>2009-07-03 22:17:18 +0200
committerPhilipp Sehmisch <crush@themanaworld.org>2009-07-03 22:28:02 +0200
commit346d68307553c18777df4c49f9b3fe57955c5c0d (patch)
treed27d3fff4f5a366f597ae83d3fb62e2dbd4d69bf /src/gui/magic.cpp
parente0de8a124bf94b79d9d64e5406b21e8598a05d56 (diff)
downloadmana-client-346d68307553c18777df4c49f9b3fe57955c5c0d.tar.gz
mana-client-346d68307553c18777df4c49f9b3fe57955c5c0d.tar.bz2
mana-client-346d68307553c18777df4c49f9b3fe57955c5c0d.tar.xz
mana-client-346d68307553c18777df4c49f9b3fe57955c5c0d.zip
Implemented display of spell recharge information from server in the magic gui (very, very hackish)
Diffstat (limited to 'src/gui/magic.cpp')
-rw-r--r--src/gui/magic.cpp39
1 files changed, 30 insertions, 9 deletions
diff --git a/src/gui/magic.cpp b/src/gui/magic.cpp
index 0906566b..c47faa18 100644
--- a/src/gui/magic.cpp
+++ b/src/gui/magic.cpp
@@ -36,17 +36,19 @@ MagicDialog::MagicDialog():
setSaveVisible(true);
setDefaultSize(255, 30, 175, 225);
- gcn::Button *spellButton1 = new Button(_("Cast Test Spell 1"), "spell_1", this);
- gcn::Button *spellButton2 = new Button(_("Cast Test Spell 2"), "spell_2", this);
- gcn::Button *spellButton3 = new Button(_("Cast Test Spell 3"), "spell_3", this);
+ mSpellButtons.resize(4);
- spellButton1->setPosition(10, 30);
- spellButton2->setPosition(10, 60);
- spellButton3->setPosition(10, 90);
+ mSpellButtons[1] = new Button(_("Spell 1"), "spell_1", this);
+ mSpellButtons[2] = new Button(_("Spell 2"), "spell_2", this);
+ mSpellButtons[3] = new Button(_("Spell 3"), "spell_3", this);
- add(spellButton1);
- add(spellButton2);
- add(spellButton3);
+ mSpellButtons[1]->setPosition(10, 60);
+ mSpellButtons[2]->setPosition(10, 90);
+ mSpellButtons[3]->setPosition(10, 120);
+
+ add(mSpellButtons[1]);
+ add(mSpellButtons[2]);
+ add(mSpellButtons[3]);
update();
@@ -87,4 +89,23 @@ void MagicDialog::draw(gcn::Graphics *g)
void MagicDialog::update()
{
+ std::map<int, Special> specials = player_node->getSpecialStatus();
+
+ for (size_t i = 1; i < mSpellButtons.size(); i++)
+ {
+ if (specials.find(i) != specials.end())
+ {
+ std::stringstream s;
+ s <<
+ "Spell" <<
+ i <<
+ " (" <<
+ specials[i].currentMana <<
+ "/" <<
+ specials[i].neededMana <<
+ ")";
+ mSpellButtons[i]->setCaption(s.str());
+ mSpellButtons[i]->adjustSize();
+ }
+ }
}