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