]> git.localhorst.tv Git - l2e.git/blobdiff - src/battle/BattleState.cpp
reworked Menu to include an optional number
[l2e.git] / src / battle / BattleState.cpp
index 58f29659e7c4500656b5c70f1faf5595e3e14b8c..ec56169a1b261f87dd6d2172fbb947b2954e9e25 100644 (file)
@@ -16,9 +16,7 @@
 #include "../geometry/operators.h"
 #include "../graphics/Sprite.h"
 
-#include <iomanip>
 #include <stdexcept>
-#include <sstream>
 
 using app::Application;
 using app::Input;
@@ -72,21 +70,12 @@ void BattleState::LoadInventory() {
        const Inventory &inv(*res->inventory);
        itemMenu.Clear();
        itemMenu.Reserve(inv.MaxItems());
-       itemMenuStrings.clear();
-       itemMenuStrings.resize(inv.MaxItems());
-       int itemNameLength(itemMenu.CharsPerEntry() - 3);
-       // TODO: better (maybe intrusive) solution for menus with counts
        for (int i(0); i < inv.MaxItems(); ++i) {
                const Item *item(inv.ItemAt(i));
                if (item) {
-                       std::stringstream s;
-                       s << std::setw(itemNameLength) << std::left << std::setfill(' ') << item->Name();
-                       s << ':';
-                       s << inv.ItemCountAt(i);
-                       itemMenuStrings[i] = s.str();
-                       itemMenu.Add(itemMenuStrings[i].c_str(), item, item->CanUseInBattle(), item->MenuIcon());
+                       itemMenu.Add(item->Name(), item, item->CanUseInBattle(), item->MenuIcon(), inv.ItemCountAt(i));
                } else {
-                       itemMenu.Add("", 0, false);
+                       itemMenu.AddEmptyEntry();
                }
        }
 }