diff options
author | Mattes D <github@xoft.cz> | 2014-07-09 23:27:02 +0200 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2014-07-09 23:27:02 +0200 |
commit | ea24a4f4aa575fdba52c8f3dfc1f12739f809793 (patch) | |
tree | 677579acdca175665f7a635dc9f960115bfc9815 /src/UI/SlotArea.h | |
parent | Fixed bow charge (diff) | |
parent | Removed unused include line. (diff) | |
download | cuberite-ea24a4f4aa575fdba52c8f3dfc1f12739f809793.tar cuberite-ea24a4f4aa575fdba52c8f3dfc1f12739f809793.tar.gz cuberite-ea24a4f4aa575fdba52c8f3dfc1f12739f809793.tar.bz2 cuberite-ea24a4f4aa575fdba52c8f3dfc1f12739f809793.tar.lz cuberite-ea24a4f4aa575fdba52c8f3dfc1f12739f809793.tar.xz cuberite-ea24a4f4aa575fdba52c8f3dfc1f12739f809793.tar.zst cuberite-ea24a4f4aa575fdba52c8f3dfc1f12739f809793.zip |
Diffstat (limited to 'src/UI/SlotArea.h')
-rw-r--r-- | src/UI/SlotArea.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/UI/SlotArea.h b/src/UI/SlotArea.h index e271ea454..3dc5c3849 100644 --- a/src/UI/SlotArea.h +++ b/src/UI/SlotArea.h @@ -46,10 +46,19 @@ public: /// 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 from Clicked when the action is a middleclick */ + virtual void MiddleClicked(cPlayer & a_Player, int a_SlotNum); + + /** Called from Clicked when the action is a drop click. */ + virtual void DropClicked(cPlayer & a_Player, int a_SlotNum, bool a_DropStack); + + /** Called from Clicked when the action is a number click. */ + virtual void NumberClicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction); + /// Called when a new player opens the same parent window. The window already tracks the player. CS-locked. virtual void OnPlayerAdded(cPlayer & a_Player); @@ -237,6 +246,7 @@ public: // Distributing items into this area is completely disabled virtual void DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots) override; + protected: /// Maps player's EntityID -> current recipe; not a std::map because cCraftingGrid needs proper constructor params typedef std::list<std::pair<int, cCraftingRecipe> > cRecipeMap; @@ -249,7 +259,10 @@ protected: /// Handles a shift-click in the result slot. Crafts using the current recipe until it changes or no more space for result. void ShiftClickedResult(cPlayer & a_Player); - + + /** Handles a drop-click in the result slot. */ + void DropClickedResult(cPlayer & a_Player); + /// Updates the current recipe and result slot based on the ingredients currently in the crafting grid of the specified player void UpdateRecipe(cPlayer & a_Player); |