X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fcommon%2FInventory.h;h=e7c569605999170b924f1fc4ad53cd5b62d73717;hb=350055a7ff27c74882aff8a4d6af2014782f830b;hp=f60b9abecb49e71817e5c3fe7a4b74fe3d011f3d;hpb=2a1d9169e1f6c2dfe0f93ed40d5fb68d3da342af;p=l2e.git diff --git a/src/common/Inventory.h b/src/common/Inventory.h index f60b9ab..e7c5696 100644 --- a/src/common/Inventory.h +++ b/src/common/Inventory.h @@ -22,17 +22,27 @@ public: public: bool Add(const Item *, int count = 1); void Remove(const Item *, int count = 1); + void RemoveAll(const Item *); int MaxItems() const { return 96; } + bool AddScenarioItem(const Item *); + const Item *ScenarioItemAt(int offset) const { return scenario[offset]; } + int NumScenarioItems() const { return scenarioEnd; } + int MaxScenarioItems() const { return 64; } + const Item *ItemAt(int offset) const { return entries[offset].item; } int ItemCountAt(int offset) const { return entries[offset].count; } + void Sort(); + void SwapEntriesAt(int lhs, int rhs); + private: struct Entry { Entry() : item(0), count(0) { } const Item *item; Uint8 count; + static bool Less(const Entry &, const Entry &); }; private: @@ -42,6 +52,8 @@ private: private: Entry entries[96]; + const Item *scenario[64]; + int scenarioEnd; };