1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
#pragma once
#include "UIScene.h"
class UIScene_LaunchMoreOptionsMenu : public UIScene
{
private:
enum EControls
{
// Add all checkboxes at the start as they also index into a checkboxes array
eLaunchCheckbox_Online,
eLaunchCheckbox_InviteOnly,
eLaunchCheckbox_AllowFoF,
eLaunchCheckbox_PVP,
eLaunchCheckbox_TrustSystem,
eLaunchCheckbox_FireSpreads,
eLaunchCheckbox_TNT,
eLaunchCheckbox_HostPrivileges,
eLaunchCheckbox_ResetNether,
eLaunchCheckbox_Structures,
eLaunchCheckbox_FlatWorld,
eLaunchCheckbox_BonusChest,
eLaunchCheckbox_DisableSaving,
eLaunchCheckboxes_Count,
eControl_EditSeed,
eControl_WorldSize,
};
UIControl m_gameOptions, m_worldOptions;
UIControl_CheckBox m_checkboxes[eLaunchCheckboxes_Count];
UIControl_Label m_labelWorldOptions, m_labelGameOptions, m_labelDescription;
UIControl_Label m_labelSeed, m_labelRandomSeed, m_labelWorldSize;
UIControl_TextInput m_editSeed;
UIControl_Slider m_sliderWorldSize;
IggyName m_funcSetMenuType, m_funcChangeTab;
UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene)
if(m_loadedResolution == eSceneResolution_1080)
{
UI_MAP_ELEMENT( m_labelGameOptions, "LabelGame")
UI_MAP_ELEMENT( m_labelWorldOptions, "LabelWorld")
UI_MAP_ELEMENT( m_gameOptions, "GameOptions")
UI_BEGIN_MAP_CHILD_ELEMENTS(m_gameOptions)
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_Online], "CheckboxOnline")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_InviteOnly], "CheckboxInviteOnly")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_AllowFoF], "CheckboxAllowFoF")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_PVP], "CheckboxPVP")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_TrustSystem], "CheckboxTrustSystem")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_FireSpreads], "CheckboxFireSpreads")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_TNT], "CheckboxTNT")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_HostPrivileges], "CheckboxHostPrivileges")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_ResetNether], "CheckboxResetNether")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_DisableSaving], "CheckboxDisableSaving")
UI_END_MAP_CHILD_ELEMENTS()
UI_MAP_ELEMENT(m_worldOptions, "WorldOptions")
UI_BEGIN_MAP_CHILD_ELEMENTS(m_worldOptions)
UI_MAP_ELEMENT( m_labelSeed, "Seed")
UI_MAP_ELEMENT( m_editSeed, "EditSeed")
UI_MAP_ELEMENT( m_labelRandomSeed, "RandomSeed")
UI_MAP_ELEMENT( m_labelWorldSize, "WorldSize")
UI_MAP_ELEMENT( m_sliderWorldSize, "WorldSizeSlider")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_Structures], "CheckboxStructures")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_BonusChest], "CheckboxBonusChest")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_FlatWorld], "CheckboxFlatWorld")
UI_END_MAP_CHILD_ELEMENTS()
UI_MAP_NAME( m_funcChangeTab, L"ChangeTab")
}
else
{
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_Online], "CheckboxOnline")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_InviteOnly], "CheckboxInviteOnly")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_AllowFoF], "CheckboxAllowFoF")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_PVP], "CheckboxPVP")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_TrustSystem], "CheckboxTrustSystem")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_FireSpreads], "CheckboxFireSpreads")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_TNT], "CheckboxTNT")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_HostPrivileges], "CheckboxHostPrivileges")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_ResetNether], "CheckboxResetNether")
UI_MAP_ELEMENT( m_labelWorldOptions, "WorldOptions")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_Structures], "CheckboxStructures")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_FlatWorld], "CheckboxFlatWorld")
UI_MAP_ELEMENT( m_checkboxes[eLaunchCheckbox_BonusChest], "CheckboxBonusChest")
}
UI_MAP_ELEMENT( m_labelDescription, "Description")
UI_MAP_NAME( m_funcSetMenuType, L"SetMenuType")
UI_END_MAP_ELEMENTS_AND_NAMES()
LaunchMoreOptionsMenuInitData *m_params;
bool m_bMultiplayerAllowed;
bool m_bIgnoreInput;
bool m_tabIndex;
public:
UIScene_LaunchMoreOptionsMenu(int iPad, void *initData, UILayer *parentLayer);
virtual void updateTooltips();
virtual void updateComponents();
virtual EUIScene getSceneType() { return eUIScene_LaunchMoreOptionsMenu;}
protected:
// TODO: This should be pure virtual in this class
virtual wstring getMoviePath();
public:
virtual void tick();
virtual void handleDestroy();
// INPUT
virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled);
virtual void handleFocusChange(F64 controlId, F64 childId);
virtual void handleTimerComplete(int id);
static int KeyboardCompleteSeedCallback(LPVOID lpParam,const bool bRes);
virtual void handlePress(F64 controlId, F64 childId);
virtual void handleSliderMove(F64 sliderId, F64 currentValue);
protected:
void handleCheckboxToggled(F64 controlId, bool selected);
};
|