Cuberite
A lightweight, fast and extensible game server for Minecraft
Public Member Functions | Protected Attributes | Private Types | List of all members
cSlotAreaAnvil Class Reference

#include <SlotArea.h>

Inheritance diagram for cSlotAreaAnvil:
Inheritance graph
[legend]
Collaboration diagram for cSlotAreaAnvil:
Collaboration graph
[legend]

Public Member Functions

bool CanTakeResultItem (cPlayer &a_Player)
 Can the player take the item from the slot? More...
 
virtual void Clicked (cPlayer &a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem &a_ClickedItem) override
 Called when a player clicks in the window. More...
 
 cSlotAreaAnvil (cWindow &a_ParentWindow)
 
virtual void DistributeStack (cItem &a_ItemStack, cPlayer &a_Player, bool a_ShouldApply, bool a_KeepEmptySlots, bool a_BackFill) override
 Called to store as much of a_ItemStack in the area as possible. More...
 
virtual void OnPlayerRemoved (cPlayer &a_Player) override
 Called when one of the players closes the parent window. More...
 
void OnTakeResult (cPlayer &a_Player)
 This function will call, when the player take the item from the slot. More...
 
virtual void ShiftClicked (cPlayer &a_Player, int a_SlotNum, const cItem &a_ClickedItem) override
 Called from Clicked when the action is a shiftclick (left or right) More...
 
void UpdateResult (cPlayer &a_Player)
 Handles a click in the item slot. More...
 
- Public Member Functions inherited from cSlotAreaTemporary
 cSlotAreaTemporary (int a_NumSlots, cWindow &a_ParentWindow)
 
virtual const cItemGetSlot (int a_SlotNum, cPlayer &a_Player) const override
 Called to retrieve an item in the specified slot for the specified player. More...
 
virtual void OnPlayerAdded (cPlayer &a_Player) override
 Called when a new player opens the same parent window. More...
 
virtual void SetSlot (int a_SlotNum, cPlayer &a_Player, const cItem &a_Item) override
 Called to set an item in the specified slot for the specified player. More...
 
void TossItems (cPlayer &a_Player, int a_Begin, int a_End)
 Tosses the player's items in slots [a_Begin, a_End) (ie. More...
 
- Public Member Functions inherited from cSlotArea
virtual bool CollectItemsToHand (cItem &a_Dragging, cPlayer &a_Player, bool a_CollectFullStacks)
 Called on DblClicking to collect all stackable items into hand. More...
 
 cSlotArea (int a_NumSlots, cWindow &a_ParentWindow)
 
virtual void DblClicked (cPlayer &a_Player, int a_SlotNum)
 Called from Clicked when the action is a caDblClick. More...
 
virtual void DropClicked (cPlayer &a_Player, int a_SlotNum, bool a_DropStack)
 Called from Clicked when the action is a drop click. More...
 
int GetNumSlots (void) const
 
virtual void MiddleClicked (cPlayer &a_Player, int a_SlotNum)
 Called from Clicked when the action is a middleclick. More...
 
virtual void NumberClicked (cPlayer &a_Player, int a_SlotNum, eClickAction a_ClickAction)
 Called from Clicked when the action is a number click. More...
 
virtual ~cSlotArea ()
 

Protected Attributes

int m_MaximumCost
 The maximum cost of repairing / renaming in the anvil. More...
 
char m_StackSizeToBeUsedInRepair
 The stack size of the second item where was used for repair. More...
 
- Protected Attributes inherited from cSlotAreaTemporary
cItemMap m_Items
 
- Protected Attributes inherited from cSlotArea
int m_NumSlots
 
cWindowm_ParentWindow
 

Private Types

using Super = cSlotAreaTemporary
 

Additional Inherited Members

- Protected Types inherited from cSlotAreaTemporary
using cItemMap = std::map< UInt32, std::vector< cItem > >
 
- Protected Member Functions inherited from cSlotAreaTemporary
cItemGetPlayerSlots (cPlayer &a_Player)
 Returns the pointer to the slot array for the player specified. More...
 

Detailed Description

Definition at line 315 of file SlotArea.h.

Member Typedef Documentation

◆ Super

Definition at line 318 of file SlotArea.h.

Constructor & Destructor Documentation

◆ cSlotAreaAnvil()

cSlotAreaAnvil::cSlotAreaAnvil ( cWindow a_ParentWindow)

Definition at line 851 of file SlotArea.cpp.

Member Function Documentation

◆ CanTakeResultItem()

bool cSlotAreaAnvil::CanTakeResultItem ( cPlayer a_Player)

Can the player take the item from the slot?

Definition at line 1099 of file SlotArea.cpp.

◆ Clicked()

void cSlotAreaAnvil::Clicked ( cPlayer a_Player,
int  a_SlotNum,
eClickAction  a_ClickAction,
const cItem a_ClickedItem 
)
overridevirtual

Called when a player clicks in the window.

Parameters taken from the click packet.

Reimplemented from cSlotArea.

Definition at line 862 of file SlotArea.cpp.

◆ DistributeStack()

void cSlotAreaAnvil::DistributeStack ( cItem a_ItemStack,
cPlayer a_Player,
bool  a_ShouldApply,
bool  a_KeepEmptySlots,
bool  a_BackFill 
)
overridevirtual

Called to store as much of a_ItemStack in the area as possible.

a_ItemStack is modified to reflect the change. The default implementation searches each slot for available space and distributes the stack there. if a_ShouldApply is true, the changes are written into the slots; if a_ShouldApply is false, only a_ItemStack is modified to reflect the number of fits (for fit-testing purposes) If a_KeepEmptySlots is true, empty slots will be skipped and won't be filled

Reimplemented from cSlotArea.

Definition at line 992 of file SlotArea.cpp.

◆ OnPlayerRemoved()

void cSlotAreaAnvil::OnPlayerRemoved ( cPlayer a_Player)
overridevirtual

Called when one of the players closes the parent window.

The window already doesn't track the player. CS-locked.

Reimplemented from cSlotAreaTemporary.

Definition at line 1115 of file SlotArea.cpp.

◆ OnTakeResult()

void cSlotAreaAnvil::OnTakeResult ( cPlayer a_Player)

This function will call, when the player take the item from the slot.

Definition at line 1032 of file SlotArea.cpp.

◆ ShiftClicked()

void cSlotAreaAnvil::ShiftClicked ( cPlayer a_Player,
int  a_SlotNum,
const cItem a_ClickedItem 
)
overridevirtual

Called from Clicked when the action is a shiftclick (left or right)

Reimplemented from cSlotArea.

Definition at line 959 of file SlotArea.cpp.

◆ UpdateResult()

void cSlotAreaAnvil::UpdateResult ( cPlayer a_Player)

Handles a click in the item slot.

Definition at line 1125 of file SlotArea.cpp.

Member Data Documentation

◆ m_MaximumCost

int cSlotAreaAnvil::m_MaximumCost
protected

The maximum cost of repairing / renaming in the anvil.

Definition at line 343 of file SlotArea.h.

◆ m_StackSizeToBeUsedInRepair

char cSlotAreaAnvil::m_StackSizeToBeUsedInRepair
protected

The stack size of the second item where was used for repair.

Definition at line 346 of file SlotArea.h.


The documentation for this class was generated from the following files: