LeviLamina
Loading...
Searching...
No Matches
SettingsScreenController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/SceneType.h"
7#include "mc/client/gui/SettingsTabIndex.h"
8#include "mc/client/gui/screens/controllers/SettingsScreenControllerBase.h"
9#include "mc/client/gui/screens/controllers/SettingsScreenMode.h"
10#include "mc/client/network/realms/InviteLink.h"
11#include "mc/client/network/realms/World.h"
12#include "mc/client/options/OptionSaveDeferral.h"
13#include "mc/deps/core/platform/BuildPlatform.h"
14#include "mc/world/level/storage/LevelSummary.h"
15
16// auto generated forward declare list
17// clang-format off
25namespace Json { class Value; }
26// clang-format on
27
29public:
30 // SettingsScreenController inner types declare
31 // clang-format off
33 // clang-format on
34
35 // SettingsScreenController inner types define
37 public:
38 // member variables
39 // NOLINTBEGIN
40 ::ll::TypedStorage<8, 32, ::std::string const> mTabName;
41 ::ll::TypedStorage<4, 4, int const> mTabVersion;
42 // NOLINTEND
43
44 public:
45 // member functions
46 // NOLINTBEGIN
47 MCAPI ~SettingsScreenTabInfo();
48 // NOLINTEND
49
50 public:
51 // destructor thunk
52 // NOLINTBEGIN
53 MCFOLD void $dtor();
54 // NOLINTEND
55 };
56
57public:
58 // member variables
59 // NOLINTBEGIN
60 ::ll::TypedStorage<4, 4, ::SettingsTabIndex> mCurrentTab;
61 ::ll::TypedStorage<1, 1, bool> mInitialTabSelected;
62 ::ll::TypedStorage<4, 4, ::SettingsTabIndex> mInitialTab;
63 ::ll::TypedStorage<8, 32, ::std::string> mCurrentTabTitle;
64 ::ll::TypedStorage<8, 32, ::std::string> mInitialPack;
65 ::ll::TypedStorage<4, 4, ::SettingsScreenMode> mSettingsMode;
66 ::ll::TypedStorage<1, 1, bool> mShowRealmsSettings;
67 ::ll::TypedStorage<8, 656, ::Realms::World> mWorld;
68 ::ll::TypedStorage<1, 1, bool> mNavigateToMenuOnExit;
69 ::ll::TypedStorage<1, 1, bool> mIsGlobalSettingsScreen;
70 ::ll::TypedStorage<1, 1, bool> mReloadTexturePacksOnExit;
71 ::ll::TypedStorage<1, 1, bool const> mMaintainOldFocusOnOpen;
72 ::ll::TypedStorage<8, 32, ::std::string> mTTSSettingsScreenName;
73 ::ll::TypedStorage<1, 1, bool> mShowInviteLinkSettings;
74 ::ll::TypedStorage<8, 152, ::Realms::InviteLink> mInviteLink;
75 ::ll::TypedStorage<1, 1, bool> mFullscreen;
76 ::ll::TypedStorage<8, 16, ::OptionSaveDeferral> mOptionsSaveDeferral;
77 ::ll::TypedStorage<8, 32, ::std::string> mCurrentFocus;
78 ::ll::TypedStorage<8, 848, ::LevelSummary> mProvidedLevelSummary;
79 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::RealmsSettingsScreenController>> mRealmsSettingsScreenController;
80 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::RealmsInviteLinkSettingsScreenController>>
81 mRealmsInviteLinkSettingsScreenController;
82 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::GeneralSettingsScreenController>> mGeneralSettingsScreenController;
83 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::WorldSettingsScreenController>> mWorldSettingsScreenController;
84 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::SocialSettingsScreenController>> mSocialSettingsScreenController;
85 ::ll::TypedStorage<8, 64, ::std::function<void()>> mOnOpenCallback;
86 // NOLINTEND
87
88public:
89 // prevent constructor by default
90 SettingsScreenController();
91
92public:
93 // virtual functions
94 // NOLINTBEGIN
95 virtual ~SettingsScreenController() /*override*/;
96
97 virtual void onOpen() /*override*/;
98
99 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
100
101 virtual ::std::string getAdditionalScreenInfo() const /*override*/;
102
103 virtual void addEventProperties(::std::unordered_map<::std::string, ::std::string>& eventProperties) const
104 /*override*/;
105
106 virtual int getScreenVersion() const /*override*/;
107
108 virtual ::ui::SceneType getSceneType() const /*override*/;
109 // NOLINTEND
110
111public:
112 // member functions
113 // NOLINTBEGIN
114 MCAPI SettingsScreenController(
115 ::std::shared_ptr<::MainMenuScreenModel> model,
116 bool createWorld,
117 ::SettingsTabIndex tabIndex,
118 bool maintainOldFocus
119 );
120
121 MCAPI SettingsScreenController(
122 ::std::shared_ptr<::MainMenuScreenModel> model,
123 ::Realms::World const& world,
124 ::Realms::InviteLink const& link,
125 ::SettingsTabIndex tabIndex,
126 bool maintainOldFocus
127 );
128
129 MCAPI SettingsScreenController(
130 ::std::shared_ptr<::MainMenuScreenModel> model,
131 ::Realms::World const& world,
132 ::SettingsTabIndex tabIndex,
133 bool maintainOldFocus,
134 ::std::string packId
135 );
136
137 MCAPI SettingsScreenController(
138 ::std::shared_ptr<::MainMenuScreenModel> model,
139 ::LevelSummary const& levelSummary,
140 bool createFromTemplate,
141 ::std::string packId,
142 ::std::function<void()> onOpenCallback,
143 ::SettingsTabIndex tabIndex,
144 bool maintainOldFocus
145 );
146
147 MCAPI SettingsScreenController(
148 ::std::shared_ptr<::MainMenuScreenModel> model,
149 ::LevelSummary const& levelSummary,
150 ::SettingsTabIndex tabIndex,
151 bool navToMenuOnExit,
152 bool maintainOldFocus,
153 ::std::string const& initialPackId,
154 bool fullscreen
155 );
156
157 MCAPI void _init();
158
159 MCAPI void _makeSureInitialTabIsValid();
160
161 MCAPI void _registerBindings();
162
163 MCAPI void _registerEventHandlers();
164
165 MCAPI void _registerSubControllers();
166
167 MCAPI ::std::string getWorldId() const;
168 // NOLINTEND
169
170public:
171 // static functions
172 // NOLINTBEGIN
173 MCAPI static ::std::unordered_map<int, ::SettingsScreenController::SettingsScreenTabInfo> _createScreenInfo();
174
175 MCAPI static void addStaticScreenVars(
176 ::Json::Value& globalVars,
177 bool isWorldCreate,
178 bool isWorldEdit,
179 bool isTemplateCreate,
180 bool isRealmsEdit,
181 bool isRealmsSlot,
182 bool isMultiplayerHost,
183 bool isMultiplayerClient,
184 bool isNonConfigRealmsEnv,
185 bool supportsGamepad,
186 bool supportsKeyboardMouse,
187 bool supportsTouch,
188 bool supportsFliteTTS,
189 bool platformTTSExists,
190 bool isEditorModeEnabled,
191 bool isTrial,
192 bool isPartySystemAvailable,
193 ::SettingsScreenCapabilities const& capabilities,
194 ::BuildPlatform const& buildPlatform
195 );
196 // NOLINTEND
197
198public:
199 // static variables
200 // NOLINTBEGIN
201 MCAPI static ::std::unordered_map<int, ::SettingsScreenController::SettingsScreenTabInfo> const& mScreenInfo();
202 // NOLINTEND
203
204public:
205 // constructor thunks
206 // NOLINTBEGIN
207 MCAPI void* $ctor(
208 ::std::shared_ptr<::MainMenuScreenModel> model,
209 bool createWorld,
210 ::SettingsTabIndex tabIndex,
211 bool maintainOldFocus
212 );
213
214 MCAPI void* $ctor(
215 ::std::shared_ptr<::MainMenuScreenModel> model,
216 ::Realms::World const& world,
217 ::Realms::InviteLink const& link,
218 ::SettingsTabIndex tabIndex,
219 bool maintainOldFocus
220 );
221
222 MCAPI void* $ctor(
223 ::std::shared_ptr<::MainMenuScreenModel> model,
224 ::Realms::World const& world,
225 ::SettingsTabIndex tabIndex,
226 bool maintainOldFocus,
227 ::std::string packId
228 );
229
230 MCAPI void* $ctor(
231 ::std::shared_ptr<::MainMenuScreenModel> model,
232 ::LevelSummary const& levelSummary,
233 bool createFromTemplate,
234 ::std::string packId,
235 ::std::function<void()> onOpenCallback,
236 ::SettingsTabIndex tabIndex,
237 bool maintainOldFocus
238 );
239
240 MCAPI void* $ctor(
241 ::std::shared_ptr<::MainMenuScreenModel> model,
242 ::LevelSummary const& levelSummary,
243 ::SettingsTabIndex tabIndex,
244 bool navToMenuOnExit,
245 bool maintainOldFocus,
246 ::std::string const& initialPackId,
247 bool fullscreen
248 );
249 // NOLINTEND
250
251public:
252 // destructor thunk
253 // NOLINTBEGIN
254 MCAPI void $dtor();
255 // NOLINTEND
256
257public:
258 // virtual function thunks
259 // NOLINTBEGIN
260 MCAPI void $onOpen();
261
262 MCAPI void $addStaticScreenVars(::Json::Value& globalVars);
263
264 MCAPI ::std::string $getAdditionalScreenInfo() const;
265
266 MCAPI void $addEventProperties(::std::unordered_map<::std::string, ::std::string>& eventProperties) const;
267
268 MCAPI int $getScreenVersion() const;
269
270 MCFOLD ::ui::SceneType $getSceneType() const;
271 // NOLINTEND
272
273public:
274 // vftables
275 // NOLINTBEGIN
276 MCNAPI static void** $vftableForScreenController();
277
279 // NOLINTEND
280};
Definition GeneralSettingsScreenController.h:5
Definition Value.h:16
Definition MainMenuScreenModel.h:5
Definition RealmsInviteLinkSettingsScreenController.h:5
Definition RealmsSettingsScreenController.h:5
Definition SettingsScreenControllerBase.h:5
Definition SettingsScreenController.h:5
static MCAPI void ** $vftableForScreenController()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
Definition SocialSettingsScreenController.h:5
Definition WorldSettingsScreenController.h:5
Definition SettingsScreenCapabilities.h:8
Definition SettingsScreenController.h:13