summaryrefslogtreecommitdiffstats
path: root/source/cWindow.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/cWindow.h')
-rw-r--r--source/cWindow.h43
1 files changed, 29 insertions, 14 deletions
diff --git a/source/cWindow.h b/source/cWindow.h
index 7d31d71e3..9d62dc43a 100644
--- a/source/cWindow.h
+++ b/source/cWindow.h
@@ -1,3 +1,12 @@
+
+// cWindow.h
+
+// Interfaces to the cWindow class representing a UI window for a specific block
+
+
+
+
+
#pragma once
@@ -14,26 +23,32 @@ typedef std::list<cPlayer *> cPlayerList;
+/**
+Represents a UI window (base class) for a specific block entity.
+
+There is up to one instance of the class for each block entity
+Each window has a list of players that are currently using it
+When there's no player using a window, it is destroyed
+*/
class cWindow
{
public:
- cWindow( cWindowOwner* a_Owner, bool a_bInventoryVisible );
+ enum WindowType
+ {
+ Inventory = -1, // This value is never actually sent to a client
+ Chest = 0,
+ Workbench = 1,
+ Furnace = 2,
+ Dispenser = 3,
+ Enchantment = 4,
+ Brewery = 5
+ };
+
+ cWindow(cWindowOwner * a_Owner, bool a_bInventoryVisible, WindowType a_WindowType, int a_WindowID);
~cWindow();
int GetWindowID() { return m_WindowID; }
- void SetWindowID( int a_WindowID ) { m_WindowID = a_WindowID; }
-
- enum WindowType {
- Chest,
- Workbench,
- Furnace,
- Dispenser,
- Enchantment,
- Brewery
- };
-
- int GetWindowType() { return m_WindowType; }
- void SetWindowType( int a_WindowType ) { m_WindowType = a_WindowType; }
+ int GetWindowType(void) const { return m_WindowType; }
cItem* GetSlots() { return m_Slots; }
int GetNumSlots() { return m_NumSlots; }