X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmenu%2FInventoryMenu.cpp;h=de60edcf0e2289458d8e7d6e7252564b2c8e30a3;hb=ec824200aec12d6870b70304bcd2e2aeadba767b;hp=bdd94cebf5937f1b439e340f9cef7b2b365d6976;hpb=9c03a930498206bfa05de06ed838a74c8dd84a24;p=l2e.git diff --git a/src/menu/InventoryMenu.cpp b/src/menu/InventoryMenu.cpp index bdd94ce..de60edc 100644 --- a/src/menu/InventoryMenu.cpp +++ b/src/menu/InventoryMenu.cpp @@ -1,14 +1,8 @@ -/* - * InventoryMenu.cpp - * - * Created on: Nov 4, 2012 - * Author: holy - */ - #include "InventoryMenu.h" #include "PartyMenu.h" #include "Resources.h" +#include "../app/Application.h" #include "../app/Input.h" #include "../common/GameConfig.h" #include "../common/GameState.h" @@ -16,11 +10,12 @@ #include "../common/Item.h" #include "../graphics/Font.h" #include "../graphics/Frame.h" +#include "../math/Vector.h" using app::Input; using common::Inventory; using common::Item; -using geometry::Vector; +using math::Vector; using graphics::Font; using graphics::Frame; using std::swap; @@ -39,7 +34,9 @@ InventoryMenu::InventoryMenu(PartyMenu *parent) void InventoryMenu::OnEnterState(SDL_Surface *) { menu.SetSelected(); + menu.StartAnimation(Ctrl()); LoadInventory(); + itemMenu.StartAnimation(Ctrl()); } void InventoryMenu::LoadInventory() { @@ -105,7 +102,10 @@ void InventoryMenu::HandleEvents(const Input &input) { } else if (itemMenu.SelectedIndex() == itemMenu.SecondaryIndex()) { switch (menu.Selected()) { case CHOICE_USE: - // TODO: implement item use + if (itemMenu.Selected()->CanUseOnStatusScreen()) { + // TODO: implement item use + } + itemMenu.SetActive(); break; case CHOICE_SORT: // invalid state, recover @@ -113,7 +113,11 @@ void InventoryMenu::HandleEvents(const Input &input) { itemMenu.SetInactive(); break; case CHOICE_DROP: - // TODO: implement item drop + if (itemMenu.Selected()->CanDrop()) { + parent->Game().state->inventory.RemoveAll(itemMenu.Selected()); + itemMenu.ClearEntry(itemMenu.SelectedIndex()); + } + itemMenu.SetActive(); break; } } else { @@ -136,7 +140,7 @@ void InventoryMenu::HandleEvents(const Input &input) { } } -void InventoryMenu::UpdateWorld(float deltaT) { +void InventoryMenu::UpdateWorld(Uint32 deltaT) { }