the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2
3// Sig: HRESULT OnGetItemCountMaxLines(XUIMessageGetItemCount *pGetItemCountData, BOOL& bHandled)
4#define XUI_ON_XM_GET_ITEMCOUNT_MAX_LINES(MemberFunc)\
5 if (pMessage->dwMessage == XM_GET_ITEMCOUNT && ((XUIMessageGetItemCount *) pMessage->pvData)->nType == XUI_ITEMCOUNT_MAX_LINES)\
6 {\
7 XUIMessageGetItemCount *pData = (XUIMessageGetItemCount *) pMessage->pvData;\
8 return MemberFunc(pData, pMessage->bHandled);\
9 }
10
11// Sig: HRESULT OnGetItemCountMaxPerLine(XUIMessageGetItemCount *pGetItemCountData, BOOL& bHandled)
12#define XUI_ON_XM_GET_ITEMCOUNT_MAX_PER_LINE(MemberFunc)\
13 if (pMessage->dwMessage == XM_GET_ITEMCOUNT && ((XUIMessageGetItemCount *) pMessage->pvData)->nType == XUI_ITEMCOUNT_MAX_PER_LINE)\
14 {\
15 XUIMessageGetItemCount *pData = (XUIMessageGetItemCount *) pMessage->pvData;\
16 return MemberFunc(pData, pMessage->bHandled);\
17 }
18
19class AbstractContainerMenu;
20class SlotListItemControl;
21class CXuiCtrlSlotItemListItem;
22
23class CXuiCtrlSlotList : public CXuiListImpl
24{
25public:
26 // Define the class. The class name must match the ClassOverride property
27 // set for the scene in the UI Authoring tool.
28 XUI_IMPLEMENT_CLASS( CXuiCtrlSlotList, L"CXuiCtrlSlotList", XUI_CLASS_LIST )
29
30 XUI_BEGIN_MSG_MAP()
31 XUI_ON_XM_INIT( OnInit )
32 XUI_ON_XM_DESTROY(OnDestroy)
33 XUI_ON_XM_KEYDOWN( OnKeyDown )
34 XUI_ON_XM_GET_ITEMCOUNT_ALL( OnGetItemCountAll )
35 XUI_ON_XM_GET_ITEMCOUNT_MAX_LINES(OnGetItemCountMaxLines)
36 XUI_ON_XM_GET_ITEMCOUNT_MAX_PER_LINE(OnGetItemCountMaxPerLine)
37 XUI_END_MSG_MAP()
38
39 HRESULT OnInit( XUIMessageInit* pInitData, BOOL& bHandled );
40 HRESULT OnDestroy();
41 HRESULT OnKeyDown(XUIMessageInput *pInputData, BOOL& bHandled);
42 HRESULT OnGetItemCountAll( XUIMessageGetItemCount *pGetItemCountData, BOOL& bHandled );
43 HRESULT OnGetItemCountMaxLines(XUIMessageGetItemCount *pGetItemCountData, BOOL& bHandled);
44 HRESULT OnGetItemCountMaxPerLine(XUIMessageGetItemCount *pGetItemCountData, BOOL& bHandled);
45 HRESULT OnRender(XUIMessageRender *pRenderData, BOOL &rfHandled);
46
47public:
48 void SetData(int m_iPad, AbstractContainerMenu* menu, int rows, int columns, int startIndex = 0, int endIndex = 0);
49
50 int GetRows() { return rows; };
51 int GetColumns() { return columns; };
52 int GetCurrentColumn();
53 int GetCurrentRow();
54
55 int GetCurrentIndex();
56
57 void SetCurrentSlot(int row, int column);
58 void SetEntrySlot(int row, int column, XUI_CONTROL_NAVIGATE direction);
59
60 void Clicked();
61
62 // 4J WESTY : Pointer Prototype : Made public.
63 void GetCXuiCtrlSlotItem(int itemIndex, CXuiCtrlSlotItemListItem** CXuiCtrlSlotItem);
64
65private:
66 int slotCount;
67 int rows;
68 int columns;
69 int startIndex;
70
71 // 4J WESTY : Pointer Prototype : Made public.
72 //void GetCXuiCtrlSlotItem(int itemIndex, CXuiCtrlSlotItemListItem** CXuiCtrlSlotItem);
73};