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;
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;
79 SettingsScreenController();
84 virtual ~SettingsScreenController() =
default;
86 virtual void onOpen() ;
88 virtual void addStaticScreenVars(::Json::Value& globalVars) ;
90 virtual ::std::string getAdditionalScreenInfo() const ;
92 virtual
void addEventProperties(::std::unordered_map<::std::
string, ::std::
string>& eventProperties) const
95 virtual
int getScreenVersion() const ;
97 virtual ::ui::SceneType getSceneType() const ;
103 MCAPI SettingsScreenController(
104 ::std::shared_ptr<::MainMenuScreenModel> model,
106 ::SettingsTabIndex tabIndex,
107 bool maintainOldFocus
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
118 MCAPI SettingsScreenController(
119 ::std::shared_ptr<::MainMenuScreenModel> model,
120 ::Realms::World const& world,
121 ::SettingsTabIndex tabIndex,
122 bool maintainOldFocus,
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
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,
153 MCAPI static
void addStaticScreenVars(
154 ::Json::Value& globalVars,
157 bool isTemplateCreate,
160 bool isMultiplayerHost,
161 bool isMultiplayerClient,
162 bool isNonConfigRealmsEnv,
163 bool supportsGamepad,
164 bool supportsKeyboardMouse,
166 bool supportsFliteTTS,
167 bool platformTTSExists,
168 bool isEditorModeEnabled,
170 bool isPartySystemAvailable,
171 ::SettingsScreenCapabilities const& capabilities,
172 ::BuildPlatform const& buildPlatform
179 MCAPI static ::std::unordered_map<
int, ::SettingsScreenController::
SettingsScreenTabInfo> const& mScreenInfo();
186 ::std::shared_ptr<::MainMenuScreenModel> model,
188 ::SettingsTabIndex tabIndex,
189 bool maintainOldFocus
193 ::std::shared_ptr<::MainMenuScreenModel> model,
194 ::Realms::World const& world,
195 ::Realms::InviteLink const& link,
196 ::SettingsTabIndex tabIndex,
197 bool maintainOldFocus
201 ::std::shared_ptr<::MainMenuScreenModel> model,
202 ::Realms::World const& world,
203 ::SettingsTabIndex tabIndex,
204 bool maintainOldFocus,
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
219 ::std::shared_ptr<::MainMenuScreenModel> model,
220 ::LevelSummary const& levelSummary,
221 ::SettingsTabIndex tabIndex,
222 bool navToMenuOnExit,
223 bool maintainOldFocus,
224 ::std::
string const& initialPackId,
233 MCAPI
void $onOpen();
235 MCAPI
void $addStaticScreenVars(::Json::Value& globalVars);
237 MCAPI ::std::
string $getAdditionalScreenInfo() const;
239 MCAPI
void $addEventProperties(::std::unordered_map<::std::
string, ::std::
string>& eventProperties) const;
241 MCAPI
int $getScreenVersion() const;
243 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
Definition SocialSettingsScreenController.h:5
Definition WorldSettingsScreenController.h:5
Definition SettingsScreenCapabilities.h:8
Definition SettingsScreenController.h:13