the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2using namespace std;
3
4#include "..\Media\xuiscene_inventory_creative.h"
5#include "XUI_Scene_AbstractContainer.h"
6#include "XUI_CustomMessages.h"
7#include "..\..\..\Minecraft.World\AbstractContainerMenu.h"
8#include "..\..\..\Minecraft.World\SimpleContainer.h"
9
10#include "..\UI\IUIScene_CreativeMenu.h"
11
12#include <vector>
13
14//--------------------------------------------------------------------------------------
15// Scene implementation class.
16//--------------------------------------------------------------------------------------
17class CXuiSceneInventoryCreative : public CXuiSceneAbstractContainer, public IUIScene_CreativeMenu
18{
19public:
20 // Define the class. The class name must match the ClassOverride property
21 // set for the scene in the UI Authoring tool.
22 XUI_IMPLEMENT_CLASS( CXuiSceneInventoryCreative, L"CXuiSceneInventoryCreative", XUI_CLASS_SCENE )
23
24protected:
25
26 CXuiControl m_hTabGroupA[eCreativeInventoryTab_COUNT];
27 CXuiControl m_hGroupIconA[eCreativeInventoryTab_COUNT];
28 CXuiElement m_Group;
29 CXuiControl m_GroupDescription;
30
31 CXuiSlider m_pageSlider;
32 CXuiControl m_scrollUp, m_scrollDown;//, m_pageNumber;
33
34 XUI_BEGIN_MSG_MAP()
35 XUI_ON_XM_INIT( OnInit )
36 XUI_ON_XM_KEYDOWN( OnKeyDown )
37 XUI_ON_XM_DESTROY( OnDestroy )
38 XUI_ON_XM_TIMER( OnTimer ) // Poll stick input on a timer.
39 XUI_ON_XM_SPLITSCREENPLAYER_MESSAGE(OnCustomMessage_Splitscreenplayer)
40 XUI_ON_XM_TRANSITION_START(OnTransitionStart)
41 XUI_ON_XM_TRANSITION_END( OnTransitionEnd)
42 XUI_END_MSG_MAP()
43
44 // Control mapping to objects
45 BEGIN_CONTROL_MAP()
46 MAP_CONTROL(IDC_Group, m_sceneGroup)
47 BEGIN_MAP_CHILD_CONTROLS( m_sceneGroup )
48 // Common to all abstract container scenes
49 MAP_OVERRIDE(IDC_UseRow, m_useRowControl)
50 MAP_OVERRIDE(IDC_Pointer, m_pointerControl)
51 MAP_OVERRIDE(IDC_Container, m_containerControl)
52
53 MAP_CONTROL(IDC_XuiSlider,m_pageSlider)
54 //MAP_CONTROL(IDC_PageNumber,m_pageNumber)
55 MAP_CONTROL(IDC_ScrollDown,m_scrollDown)
56 MAP_CONTROL(IDC_ScrollUp,m_scrollUp)
57
58 MAP_CONTROL(IDC_InventoryText,m_GroupDescription)
59
60 // 4J JEV - Tabs
61 MAP_CONTROL(IDC_Group_Tab_Icons, m_Group)
62 BEGIN_MAP_CHILD_CONTROLS(m_Group)
63 MAP_CONTROL(IDC_Icon_1,m_hGroupIconA[0])
64 MAP_CONTROL(IDC_Icon_2,m_hGroupIconA[1])
65 MAP_CONTROL(IDC_Icon_3,m_hGroupIconA[2])
66 MAP_CONTROL(IDC_Icon_4,m_hGroupIconA[3])
67 MAP_CONTROL(IDC_Icon_5,m_hGroupIconA[4])
68 MAP_CONTROL(IDC_Icon_6,m_hGroupIconA[5])
69 MAP_CONTROL(IDC_Icon_7,m_hGroupIconA[6])
70 MAP_CONTROL(IDC_Icon_8,m_hGroupIconA[7])
71 END_MAP_CHILD_CONTROLS()
72 MAP_CONTROL(IDC_Group_Tab_Images, m_Group)
73 BEGIN_MAP_CHILD_CONTROLS(m_Group)
74 MAP_CONTROL(IDC_TabImage1,m_hTabGroupA[0])
75 MAP_CONTROL(IDC_TabImage2,m_hTabGroupA[1])
76 MAP_CONTROL(IDC_TabImage3,m_hTabGroupA[2])
77 MAP_CONTROL(IDC_TabImage4,m_hTabGroupA[3])
78 MAP_CONTROL(IDC_TabImage5,m_hTabGroupA[4])
79 MAP_CONTROL(IDC_TabImage6,m_hTabGroupA[5])
80 MAP_CONTROL(IDC_TabImage7,m_hTabGroupA[6])
81 MAP_CONTROL(IDC_TabImage8,m_hTabGroupA[7])
82 END_MAP_CHILD_CONTROLS()
83
84 END_MAP_CHILD_CONTROLS()
85 END_CONTROL_MAP()
86
87 HRESULT OnInit( XUIMessageInit* pInitData, BOOL& bHandled );
88 HRESULT OnDestroy();
89 HRESULT OnTransitionEnd( XUIMessageTransition *pTransData, BOOL& bHandled);
90 //HRESULT OnCustomMessage_Splitscreenplayer(bool bJoining, BOOL& bHandled) {return S_OK;}
91
92private:
93 CXuiControl m_sceneGroup;
94
95 virtual CXuiControl* GetSectionControl( ESceneSection eSection );
96 virtual CXuiCtrlSlotList* GetSectionSlotList( ESceneSection eSection );
97
98 CXuiCtrlSlotList* m_containerControl;
99
100private:
101 // IUIScene_CreativeMenu
102 void updateTabHighlightAndText(ECreativeInventoryTabs tab);
103 void updateScrollCurrentPage(int currentPage, int pageCount);
104};