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