3#include "mc/_HeaderOutputPredefine.h"
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"
25namespace Json {
class Value; }
40 ::ll::TypedStorage<8, 32, ::std::string const> mTabName;
41 ::ll::TypedStorage<4, 4, int const> mTabVersion;
46 SettingsScreenTabInfo();
51 MCAPI SettingsScreenTabInfo(::std::string tabName,
int tabVersion);
53 MCAPI ~SettingsScreenTabInfo();
59 MCAPI
void* $ctor(::std::string tabName,
int tabVersion);
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;
102 SettingsScreenController();
107 virtual ~SettingsScreenController() ;
109 virtual void onOpen() ;
111 virtual void addStaticScreenVars(::Json::Value& globalVars) ;
113 virtual ::std::string getAdditionalScreenInfo() const ;
115 virtual
void addEventProperties(::std::unordered_map<::std::
string, ::std::
string>& eventProperties) const
118 virtual
int getScreenVersion() const ;
120 virtual ::ui::SceneType getSceneType() const ;
126 MCAPI SettingsScreenController(
127 ::std::shared_ptr<::MainMenuScreenModel> model,
129 ::SettingsTabIndex tabIndex,
130 bool maintainOldFocus
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
141 MCAPI SettingsScreenController(
142 ::std::shared_ptr<::MainMenuScreenModel> model,
143 ::Realms::World const& world,
144 ::SettingsTabIndex tabIndex,
145 bool maintainOldFocus,
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
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,
171 MCAPI
void _registerBindings();
173 MCAPI
void _registerEventHandlers();
175 MCAPI
void _registerSubControllers();
181 MCAPI static ::std::unordered_map<
int, ::SettingsScreenController::
SettingsScreenTabInfo> _createScreenInfo();
183 MCAPI static
void addStaticScreenVars(
184 ::Json::Value& globalVars,
187 bool isTemplateCreate,
190 bool isMultiplayerHost,
191 bool isMultiplayerClient,
192 bool isNonConfigRealmsEnv,
193 bool supportsGamepad,
194 bool supportsKeyboardMouse,
196 bool supportsFliteTTS,
197 bool platformTTSExists,
198 bool isEditorModeEnabled,
200 bool isPartySystemAvailable,
201 ::SettingsScreenCapabilities const& capabilities,
202 ::BuildPlatform const& buildPlatform
209 MCAPI static ::std::unordered_map<
int, ::SettingsScreenController::
SettingsScreenTabInfo> const& mScreenInfo();
216 ::std::shared_ptr<::MainMenuScreenModel> model,
218 ::SettingsTabIndex tabIndex,
219 bool maintainOldFocus
223 ::std::shared_ptr<::MainMenuScreenModel> model,
224 ::Realms::World const& world,
225 ::Realms::InviteLink const& link,
226 ::SettingsTabIndex tabIndex,
227 bool maintainOldFocus
231 ::std::shared_ptr<::MainMenuScreenModel> model,
232 ::Realms::World const& world,
233 ::SettingsTabIndex tabIndex,
234 bool maintainOldFocus,
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
249 ::std::shared_ptr<::MainMenuScreenModel> model,
250 ::LevelSummary const& levelSummary,
251 ::SettingsTabIndex tabIndex,
252 bool navToMenuOnExit,
253 bool maintainOldFocus,
254 ::std::
string const& initialPackId,
268 MCAPI
void $onOpen();
270 MCAPI
void $addStaticScreenVars(::Json::Value& globalVars);
272 MCAPI ::std::
string $getAdditionalScreenInfo() const;
274 MCAPI
void $addEventProperties(::std::unordered_map<::std::
string, ::std::
string>& eventProperties) const;
276 MCAPI
int $getScreenVersion() const;
278 MCFOLD ::ui::SceneType $getSceneType() const;
Definition GeneralSettingsScreenController.h:5
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