the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2#include "../media/xuiscene_hud.h"
3#include "XUI_CustomMessages.h"
4
5#define CHAT_LINES_COUNT 10
6
7class CXuiSceneHud : public CXuiSceneImpl
8{
9private:
10 Random m_random;
11 int m_tickCount;
12
13protected:
14 CXuiControl m_hudHolder; // Contains the HUD group to enable moving all elements together
15 CXuiControl m_hudGroup; // Contains all the HUD elements except crosshair, in a group that scales
16 CXuiControl m_hudScaleGroup; // Contains all the HUD elements except crosshair
17 CXuiControl m_hotbarGroup;
18 CXuiCtrlSlotItem *m_hotbarIcon[9];
19 CXuiProgressBar m_ExperienceProgress;
20 CXuiControl m_healthGroup;
21 CXuiControl m_healthIcon[10];
22 CXuiControl m_armourGroup;
23 CXuiControl m_armourIcon[10];
24 CXuiControl m_foodGroup;
25 CXuiControl m_foodIcon[10];
26 CXuiControl m_airGroup;
27 CXuiControl m_airIcon[10];
28 CXuiControl m_xpLevel;
29
30 D3DXVECTOR3 m_OriginalPosition;
31 int m_iPad;
32
33 // Message map. Here we tie messages to message handlers.
34 XUI_BEGIN_MSG_MAP()
35 XUI_ON_XM_INIT( OnInit )
36 XUI_ON_XM_SPLITSCREENPLAYER_MESSAGE(OnCustomMessage_Splitscreenplayer)
37 XUI_ON_XM_CUSTOMTICKSCENE_MESSAGE(OnCustomMessage_TickScene)
38 XUI_ON_XM_DLCINSTALLED_MESSAGE(OnCustomMessage_DLCInstalled)
39 XUI_ON_XM_DLCLOADED_MESSAGE(OnCustomMessage_DLCMountingComplete)
40 XUI_END_MSG_MAP()
41
42 BEGIN_CONTROL_MAP()
43 MAP_CONTROL(IDC_HudHolder, m_hudHolder)
44 BEGIN_MAP_CHILD_CONTROLS(m_hudHolder)
45 MAP_CONTROL(IDC_HudGroup, m_hudGroup)
46 BEGIN_MAP_CHILD_CONTROLS(m_hudGroup)
47 MAP_CONTROL(IDC_HudScaleGroup, m_hudScaleGroup)
48 BEGIN_MAP_CHILD_CONTROLS(m_hudScaleGroup)
49 MAP_CONTROL(IDC_Hotbar, m_hotbarGroup)
50 BEGIN_MAP_CHILD_CONTROLS(m_hotbarGroup)
51 MAP_OVERRIDE(IDC_Inventory1, m_hotbarIcon[0])
52 MAP_OVERRIDE(IDC_Inventory2, m_hotbarIcon[1])
53 MAP_OVERRIDE(IDC_Inventory3, m_hotbarIcon[2])
54 MAP_OVERRIDE(IDC_Inventory4, m_hotbarIcon[3])
55 MAP_OVERRIDE(IDC_Inventory5, m_hotbarIcon[4])
56 MAP_OVERRIDE(IDC_Inventory6, m_hotbarIcon[5])
57 MAP_OVERRIDE(IDC_Inventory7, m_hotbarIcon[6])
58 MAP_OVERRIDE(IDC_Inventory8, m_hotbarIcon[7])
59 MAP_OVERRIDE(IDC_Inventory9, m_hotbarIcon[8])
60 END_MAP_CHILD_CONTROLS()
61 MAP_CONTROL(IDC_ExperienceProgress, m_ExperienceProgress)
62 MAP_CONTROL(IDC_Health, m_healthGroup)
63 BEGIN_MAP_CHILD_CONTROLS(m_healthGroup)
64 MAP_CONTROL(IDC_Health0, m_healthIcon[0])
65 MAP_CONTROL(IDC_Health1, m_healthIcon[1])
66 MAP_CONTROL(IDC_Health2, m_healthIcon[2])
67 MAP_CONTROL(IDC_Health3, m_healthIcon[3])
68 MAP_CONTROL(IDC_Health4, m_healthIcon[4])
69 MAP_CONTROL(IDC_Health5, m_healthIcon[5])
70 MAP_CONTROL(IDC_Health6, m_healthIcon[6])
71 MAP_CONTROL(IDC_Health7, m_healthIcon[7])
72 MAP_CONTROL(IDC_Health8, m_healthIcon[8])
73 MAP_CONTROL(IDC_Health9, m_healthIcon[9])
74 END_MAP_CHILD_CONTROLS()
75 MAP_CONTROL(IDC_Armour, m_armourGroup)
76 BEGIN_MAP_CHILD_CONTROLS(m_armourGroup)
77 MAP_CONTROL(IDC_Armour0, m_armourIcon[0])
78 MAP_CONTROL(IDC_Armour1, m_armourIcon[1])
79 MAP_CONTROL(IDC_Armour2, m_armourIcon[2])
80 MAP_CONTROL(IDC_Armour3, m_armourIcon[3])
81 MAP_CONTROL(IDC_Armour4, m_armourIcon[4])
82 MAP_CONTROL(IDC_Armour5, m_armourIcon[5])
83 MAP_CONTROL(IDC_Armour6, m_armourIcon[6])
84 MAP_CONTROL(IDC_Armour7, m_armourIcon[7])
85 MAP_CONTROL(IDC_Armour8, m_armourIcon[8])
86 MAP_CONTROL(IDC_Armour9, m_armourIcon[9])
87 END_MAP_CHILD_CONTROLS()
88 MAP_CONTROL(IDC_Food, m_foodGroup)
89 BEGIN_MAP_CHILD_CONTROLS(m_foodGroup)
90 MAP_CONTROL(IDC_Food0, m_foodIcon[0])
91 MAP_CONTROL(IDC_Food1, m_foodIcon[1])
92 MAP_CONTROL(IDC_Food2, m_foodIcon[2])
93 MAP_CONTROL(IDC_Food3, m_foodIcon[3])
94 MAP_CONTROL(IDC_Food4, m_foodIcon[4])
95 MAP_CONTROL(IDC_Food5, m_foodIcon[5])
96 MAP_CONTROL(IDC_Food6, m_foodIcon[6])
97 MAP_CONTROL(IDC_Food7, m_foodIcon[7])
98 MAP_CONTROL(IDC_Food8, m_foodIcon[8])
99 MAP_CONTROL(IDC_Food9, m_foodIcon[9])
100 END_MAP_CHILD_CONTROLS()
101 MAP_CONTROL(IDC_Air, m_airGroup)
102 BEGIN_MAP_CHILD_CONTROLS(m_airGroup)
103 MAP_CONTROL(IDC_Air0, m_airIcon[0])
104 MAP_CONTROL(IDC_Air1, m_airIcon[1])
105 MAP_CONTROL(IDC_Air2, m_airIcon[2])
106 MAP_CONTROL(IDC_Air3, m_airIcon[3])
107 MAP_CONTROL(IDC_Air4, m_airIcon[4])
108 MAP_CONTROL(IDC_Air5, m_airIcon[5])
109 MAP_CONTROL(IDC_Air6, m_airIcon[6])
110 MAP_CONTROL(IDC_Air7, m_airIcon[7])
111 MAP_CONTROL(IDC_Air8, m_airIcon[8])
112 MAP_CONTROL(IDC_Air9, m_airIcon[9])
113 END_MAP_CHILD_CONTROLS()
114 MAP_CONTROL(IDC_XPLevel, m_xpLevel)
115 END_MAP_CHILD_CONTROLS()
116 END_MAP_CHILD_CONTROLS()
117 END_MAP_CHILD_CONTROLS()
118 END_CONTROL_MAP()
119
120 HRESULT OnInit( XUIMessageInit* pInitData, BOOL& bHandled );
121 HRESULT OnCustomMessage_Splitscreenplayer(bool bJoining, BOOL& bHandled);
122 HRESULT OnCustomMessage_TickScene();
123 HRESULT OnCustomMessage_DLCInstalled();
124 HRESULT OnCustomMessage_DLCMountingComplete();
125public:
126 // Define the class. The class name must match the ClassOverride property
127 // set for the scene in the UI Authoring tool.
128 XUI_IMPLEMENT_CLASS( CXuiSceneHud, L"CXuiSceneHud", XUI_CLASS_SCENE )
129};