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