diff options
author | madmaxoft <github@xoft.cz> | 2013-11-10 18:42:46 +0100 |
---|---|---|
committer | madmaxoft <github@xoft.cz> | 2013-11-10 18:42:46 +0100 |
commit | bd664e0a903989b259b0037c6d20c6c83595ff51 (patch) | |
tree | cabf8387dec35fc1a1a62dc8c02280370676e221 /source/UI/SlotArea.h | |
parent | Added cItem::GetMaxStackSize() (diff) | |
download | cuberite-bd664e0a903989b259b0037c6d20c6c83595ff51.tar cuberite-bd664e0a903989b259b0037c6d20c6c83595ff51.tar.gz cuberite-bd664e0a903989b259b0037c6d20c6c83595ff51.tar.bz2 cuberite-bd664e0a903989b259b0037c6d20c6c83595ff51.tar.lz cuberite-bd664e0a903989b259b0037c6d20c6c83595ff51.tar.xz cuberite-bd664e0a903989b259b0037c6d20c6c83595ff51.tar.zst cuberite-bd664e0a903989b259b0037c6d20c6c83595ff51.zip |
Diffstat (limited to '')
-rw-r--r-- | source/UI/SlotArea.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/source/UI/SlotArea.h b/source/UI/SlotArea.h index 943452feb..4964e9986 100644 --- a/source/UI/SlotArea.h +++ b/source/UI/SlotArea.h @@ -40,9 +40,12 @@ public: /// Called when a player clicks in the window. Parameters taken from the click packet. virtual void Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem); - /// Called from Clicked if it is a valid shiftclick + /// Called from Clicked when the action is a shiftclick (left or right) virtual void ShiftClicked(cPlayer & a_Player, int a_SlotNum, const cItem & a_ClickedItem); + /// Called from Clicked when the action is a caDblClick + virtual void DblClicked(cPlayer & a_Player, int a_SlotNum); + /// Called when a new player opens the same parent window. The window already tracks the player. CS-locked. virtual void OnPlayerAdded(cPlayer & a_Player) {} ; @@ -57,6 +60,12 @@ public: */ virtual void DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots); + /// Called on DblClicking to collect all stackable items into hand. + /// The items are accumulated in a_Dragging and removed from the slots immediately. + /// If a_CollectFullStacks is false, slots with full stacks are skipped while collecting. + /// Returns true if full stack has been collected in a_Dragging, false if there's space remaining to fill. + virtual bool CollectItemsToHand(cItem & a_Dragging, cPlayer & a_Player, bool a_CollectFullStacks); + protected: int m_NumSlots; cWindow & m_ParentWindow; |