summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIra Rice <irarice@gmail.com>2008-11-13 22:13:02 +0000
committerIra Rice <irarice@gmail.com>2008-11-13 22:13:02 +0000
commit717e8babd1124a4c6c685a6386a84f58148d4931 (patch)
tree5070f4eaa0f7bb716207dfb744dfae497f73ab4b /src
parent0436733dc9e412b12272fa7332831c9185c3d19b (diff)
downloadmana-717e8babd1124a4c6c685a6386a84f58148d4931.tar.gz
mana-717e8babd1124a4c6c685a6386a84f58148d4931.tar.bz2
mana-717e8babd1124a4c6c685a6386a84f58148d4931.tar.xz
mana-717e8babd1124a4c6c685a6386a84f58148d4931.zip
Added a slot display so that players can track how much space they've used.
Diffstat (limited to 'src')
-rw-r--r--src/gui/inventorywindow.cpp22
-rw-r--r--src/gui/inventorywindow.h2
2 files changed, 22 insertions, 2 deletions
diff --git a/src/gui/inventorywindow.cpp b/src/gui/inventorywindow.cpp
index 936416d1..1b2e5c63 100644
--- a/src/gui/inventorywindow.cpp
+++ b/src/gui/inventorywindow.cpp
@@ -34,6 +34,7 @@
#include "scrollarea.h"
#include "viewport.h"
+#include "../inventory.h"
#include "../item.h"
#include "../localplayer.h"
@@ -73,6 +74,11 @@ InventoryWindow::InventoryWindow():
"Maximum Weight: " + mMaxWeight + " g";
mWeightLabel = new TextBox();
mWeightLabel->setPosition(8, 8);
+ mSlots = "Slots: " +
+ toString(player_node->getInventory()->getNumberOfSlotsUsed()) +
+ "/" + toString(player_node->getInventory()->getSize());
+ mSlotsLabel = new TextBox();
+ mItemEffectLabel = new TextBox();
draw();
@@ -83,6 +89,7 @@ InventoryWindow::InventoryWindow():
add(mItemDescriptionLabel);
add(mItemEffectLabel);
add(mWeightLabel);
+ add(mSlotsLabel);
mUseButton->setSize(60, mUseButton->getHeight());
@@ -107,6 +114,10 @@ void InventoryWindow::logic()
mWeight = "Total Weight: " + mTotalWeight + " g - " +
"Maximum Weight: " + mMaxWeight + " g";
+ mSlots = "Slots: " +
+ toString(player_node->getInventory()->getNumberOfSlotsUsed()) +
+ "/" + toString(player_node->getInventory()->getSize());
+
draw();
}
}
@@ -222,12 +233,19 @@ void InventoryWindow::draw()
mItemEffectLabel->getY() - 5 - (mItemDescriptionLabel->getNumberOfRows()*15),
width - 16,
(mItemDescriptionLabel->getNumberOfRows()*15)));
+ mSlotsLabel->setMinWidth(width - 16);
+ mSlotsLabel->setTextWrapped(mSlots);
+ mSlotsLabel->setDimension(gcn::Rectangle(8,
+ mItemDescriptionLabel->getY() - 5 - (mSlotsLabel->getNumberOfRows()*15),
+ width - 16,
+ (mSlotsLabel->getNumberOfRows()*15)));
mInvenScroll->setSize(width - 16,
- mItemDescriptionLabel->getY() - (mWeightLabel->getNumberOfRows()*15) - 18);
+ mSlotsLabel->getY() - (mWeightLabel->getNumberOfRows()*15) - 18);
mInvenScroll->setPosition(8, (mWeightLabel->getNumberOfRows()*15) + 10);
- setMinHeight(130 + (mWeightLabel->getNumberOfRows()*15) +
+ setMinHeight(130 + (mSlotsLabel->getNumberOfRows()*15) +
+ (mWeightLabel->getNumberOfRows()*15) +
(mItemDescriptionLabel->getNumberOfRows()*15) +
(mItemEffectLabel->getNumberOfRows()*15) +
(mItemNameLabel->getNumberOfRows()*15));
diff --git a/src/gui/inventorywindow.h b/src/gui/inventorywindow.h
index e6170dac..055bfad9 100644
--- a/src/gui/inventorywindow.h
+++ b/src/gui/inventorywindow.h
@@ -92,12 +92,14 @@ class InventoryWindow : public Window, gcn::ActionListener,
std::string mWeight;
std::string mTotalWeight;
std::string mMaxWeight;
+ std::string mSlots;
gcn::Button *mUseButton, *mDropButton;
gcn::ScrollArea *mInvenScroll;
TextBox *mItemNameLabel;
TextBox *mItemDescriptionLabel;
TextBox *mItemEffectLabel;
TextBox *mWeightLabel;
+ TextBox *mSlotsLabel;
};
extern InventoryWindow *inventoryWindow;