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_ingame_player_options.h"
3
4class CScene_InGamePlayerOptions : public CXuiSceneImpl
5{
6private:
7 enum EControls
8 {
9 // Checkboxes
10 eControl_BuildAndMine,
11 eControl_UseDoorsAndSwitches,
12 eControl_UseContainers,
13 eControl_AttackPlayers,
14 eControl_AttackAnimals,
15 eControl_Op,
16 eControl_CheatTeleport,
17 eControl_HostFly,
18 eControl_HostHunger,
19 eControl_HostInvisible,
20
21 eControl_CHECKBOXES_COUNT,
22
23 // Others
24 eControl_Kick = eControl_CHECKBOXES_COUNT,
25 };
26
27protected:
28 HXUIOBJ m_focusElement; // Only used for the remove control process
29
30 CXuiControl m_Icon;
31 CXuiControl m_Gamertag;
32 CXuiScene m_TeleportGroup;
33 CXuiControl m_buttonKick;
34 CXuiCheckbox m_checkboxes[eControl_CHECKBOXES_COUNT];
35
36 XUI_BEGIN_MSG_MAP()
37 XUI_ON_XM_INIT( OnInit )
38 XUI_ON_XM_DESTROY( OnDestroy )
39 XUI_ON_XM_KEYDOWN(OnKeyDown)
40 XUI_ON_XM_NOTIFY_PRESS_EX(OnNotifyPressEx)
41 XUI_ON_XM_CONTROL_NAVIGATE( OnControlNavigate )
42 XUI_ON_XM_TRANSITION_START( OnTransitionStart )
43 XUI_END_MSG_MAP()
44
45 BEGIN_CONTROL_MAP()
46 MAP_CONTROL(IDC_Icon, m_Icon)
47 MAP_CONTROL(IDC_Gamertag, m_Gamertag)
48
49 MAP_CONTROL(IDC_CheckboxBuildAndMine, m_checkboxes[eControl_BuildAndMine])
50 MAP_CONTROL(IDC_CheckboxAttackPlayers, m_checkboxes[eControl_AttackPlayers])
51 MAP_CONTROL(IDC_CheckboxAttackAnimals, m_checkboxes[eControl_AttackAnimals])
52 MAP_CONTROL(IDC_CheckboxUseContainers, m_checkboxes[eControl_UseContainers])
53 MAP_CONTROL(IDC_CheckboxUseDoorsAndSwitches, m_checkboxes[eControl_UseDoorsAndSwitches])
54 MAP_CONTROL(IDC_CheckboxOp, m_checkboxes[eControl_Op])
55 MAP_CONTROL(IDC_CheckboxTeleport, m_checkboxes[eControl_CheatTeleport])
56 MAP_CONTROL(IDC_CheckboxHostInvisible, m_checkboxes[eControl_HostInvisible])
57 MAP_CONTROL(IDC_CheckboxHostFly, m_checkboxes[eControl_HostFly])
58 MAP_CONTROL(IDC_CheckboxHostHunger, m_checkboxes[eControl_HostHunger])
59
60 MAP_CONTROL(IDC_ButtonKick, m_buttonKick)
61 END_CONTROL_MAP()
62
63
64 HRESULT OnInit( XUIMessageInit* pInitData, BOOL& bHandled );
65 HRESULT OnDestroy();
66 HRESULT OnKeyDown(XUIMessageInput* pInputData, BOOL& rfHandled);
67 HRESULT OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotifyPress* pNotifyPressData, BOOL& rfHandled);
68 HRESULT OnControlNavigate(XUIMessageControlNavigate *pControlNavigateData, BOOL& bHandled);
69 HRESULT OnTransitionStart( XUIMessageTransition *pTransition, BOOL& bHandled );
70
71public:
72
73 // Define the class. The class name must match the ClassOverride property
74 // set for the scene in the UI Authoring tool.
75 XUI_IMPLEMENT_CLASS( CScene_InGamePlayerOptions, L"CScene_InGamePlayerOptions", XUI_CLASS_SCENE )
76
77 static void OnPlayerChanged(void *callbackParam, INetworkPlayer *pPlayer, bool leaving);
78
79private:
80 bool m_editingSelf;
81 int m_iPad;
82 BYTE m_networkSmallId;
83 unsigned int m_playerPrivileges;
84 D3DXVECTOR3 m_OriginalPosition;
85
86 void removeControl(HXUIOBJ hObjToRemove, bool center);
87
88 /** 4J-JEV:
89 For enabling/disabling 'Can Fly', 'Can Teleport', 'Can Disable Hunger' etc
90 used after changing the moderator checkbox.
91 */
92 void resetCheatCheckboxes();
93
94public:
95 static int KickPlayerReturned(void *pParam,int iPad,C4JStorage::EMessageResult result);
96};