#include "../geometry/operators.h"
#include "../graphics/Sprite.h"
-#include <iomanip>
#include <stdexcept>
-#include <sstream>
using app::Application;
using app::Input;
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();
}
}
}