the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2
3#include "UIScene.h"
4
5class UIScene_InGamePlayerOptionsMenu : public UIScene
6{
7private:
8 enum EControls
9 {
10 // Checkboxes
11 eControl_BuildAndMine,
12 eControl_UseDoorsAndSwitches,
13 eControl_UseContainers,
14 eControl_AttackPlayers,
15 eControl_AttackAnimals,
16 eControl_Op,
17 eControl_CheatTeleport,
18 eControl_HostFly,
19 eControl_HostHunger,
20 eControl_HostInvisible,
21
22 eControl_CHECKBOXES_COUNT,
23
24 // Others
25 eControl_Kick = eControl_CHECKBOXES_COUNT,
26 };
27
28 bool m_bShouldNavBack;
29 bool m_editingSelf;
30 BYTE m_networkSmallId;
31 unsigned int m_playerPrivileges;
32
33 UIControl_Label m_labelGamertag;
34 UIControl_CheckBox m_checkboxes[eControl_CHECKBOXES_COUNT];
35 UIControl_Button m_buttonKick;
36 IggyName m_funcSetPlayerIcon;
37 UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene)
38 UI_MAP_ELEMENT( m_checkboxes[eControl_BuildAndMine], "CheckboxBuildAndMine")
39 UI_MAP_ELEMENT( m_checkboxes[eControl_UseDoorsAndSwitches], "CheckboxUseDoorsAndSwitches")
40 UI_MAP_ELEMENT( m_checkboxes[eControl_UseContainers], "CheckboxUseContainers")
41 UI_MAP_ELEMENT( m_checkboxes[eControl_AttackPlayers], "CheckboxAttackPlayers")
42 UI_MAP_ELEMENT( m_checkboxes[eControl_AttackAnimals], "CheckboxAttackAnimals")
43 UI_MAP_ELEMENT( m_checkboxes[eControl_Op], "CheckboxOp")
44 UI_MAP_ELEMENT( m_checkboxes[eControl_CheatTeleport], "CheckboxTeleport")
45 UI_MAP_ELEMENT( m_checkboxes[eControl_HostFly], "CheckboxHostFly")
46 UI_MAP_ELEMENT( m_checkboxes[eControl_HostHunger], "CheckboxHostHunger")
47 UI_MAP_ELEMENT( m_checkboxes[eControl_HostInvisible], "CheckboxHostInvisible")
48
49 UI_MAP_ELEMENT( m_buttonKick, "ButtonKick")
50
51 UI_MAP_ELEMENT( m_labelGamertag, "Gamertag")
52
53 UI_MAP_NAME( m_funcSetPlayerIcon, L"SetPlayerIcon" );
54 UI_END_MAP_ELEMENTS_AND_NAMES()
55
56 bool m_bModeratorState;
57
58
59public:
60 UIScene_InGamePlayerOptionsMenu(int iPad, void *initData, UILayer *parentLayer);
61
62 virtual EUIScene getSceneType() { return eUIScene_InGamePlayerOptionsMenu;}
63 virtual void updateTooltips();
64
65 virtual void handleReload();
66
67protected:
68 // TODO: This should be pure virtual in this class
69 virtual wstring getMoviePath();
70 virtual void handleCheckboxToggled(F64 controlId, bool selected);
71 virtual void handleTimerComplete(int id);
72
73public:
74 virtual void tick();
75
76 // INPUT
77 virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled);
78
79 virtual void handleDestroy();
80 virtual void handlePress(F64 controlId, F64 childId);
81
82
83 static int KickPlayerReturned(void *pParam,int iPad,C4JStorage::EMessageResult result);
84 static void OnPlayerChanged(void *callbackParam, INetworkPlayer *pPlayer, bool leaving);
85
86private:
87 /** 4J-JEV:
88 For enabling/disabling 'Can Fly', 'Can Teleport', 'Can Disable Hunger' etc
89 used after changing the moderator checkbox.
90 */
91 void resetCheatCheckboxes();
92};