the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 96 lines 3.1 kB view raw
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};