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;
47 MCAPI ~SettingsScreenTabInfo();
60 ::ll::TypedStorage<4, 4, ::SettingsTabIndex> mCurrentTab;
61 ::ll::TypedStorage<1, 1, bool> mInitialTabSelected;
62 ::ll::TypedStorage<4, 4, ::SettingsTabIndex> mInitialTab;
63 ::ll::TypedStorage<8, 32, ::std::string> mCurrentTabTitle;
64 ::ll::TypedStorage<8, 32, ::std::string> mInitialPack;
65 ::ll::TypedStorage<4, 4, ::SettingsScreenMode> mSettingsMode;
66 ::ll::TypedStorage<1, 1, bool> mShowRealmsSettings;
67 ::ll::TypedStorage<8, 656, ::Realms::World> mWorld;
68 ::ll::TypedStorage<1, 1, bool> mNavigateToMenuOnExit;
69 ::ll::TypedStorage<1, 1, bool> mIsGlobalSettingsScreen;
70 ::ll::TypedStorage<1, 1, bool> mReloadTexturePacksOnExit;
71 ::ll::TypedStorage<1, 1, bool const> mMaintainOldFocusOnOpen;
72 ::ll::TypedStorage<8, 32, ::std::string> mTTSSettingsScreenName;
73 ::ll::TypedStorage<1, 1, bool> mShowInviteLinkSettings;
74 ::ll::TypedStorage<8, 152, ::Realms::InviteLink> mInviteLink;
75 ::ll::TypedStorage<1, 1, bool> mFullscreen;
76 ::ll::TypedStorage<8, 16, ::OptionSaveDeferral> mOptionsSaveDeferral;
77 ::ll::TypedStorage<8, 32, ::std::string> mCurrentFocus;
78 ::ll::TypedStorage<8, 848, ::LevelSummary> mProvidedLevelSummary;
79 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::RealmsSettingsScreenController>> mRealmsSettingsScreenController;
80 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::RealmsInviteLinkSettingsScreenController>>
81 mRealmsInviteLinkSettingsScreenController;
82 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::GeneralSettingsScreenController>> mGeneralSettingsScreenController;
83 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::WorldSettingsScreenController>> mWorldSettingsScreenController;
84 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::SocialSettingsScreenController>> mSocialSettingsScreenController;
85 ::ll::TypedStorage<8, 64, ::std::function<void()>> mOnOpenCallback;
90 SettingsScreenController();
95 virtual ~SettingsScreenController() ;
97 virtual void onOpen() ;
99 virtual void addStaticScreenVars(::Json::Value& globalVars) ;
101 virtual ::std::string getAdditionalScreenInfo() const ;
103 virtual
void addEventProperties(::std::unordered_map<::std::
string, ::std::
string>& eventProperties) const
106 virtual
int getScreenVersion() const ;
108 virtual ::ui::SceneType getSceneType() const ;
114 MCAPI SettingsScreenController(
115 ::std::shared_ptr<::MainMenuScreenModel> model,
117 ::SettingsTabIndex tabIndex,
118 bool maintainOldFocus
121 MCAPI SettingsScreenController(
122 ::std::shared_ptr<::MainMenuScreenModel> model,
123 ::Realms::World const& world,
124 ::Realms::InviteLink const& link,
125 ::SettingsTabIndex tabIndex,
126 bool maintainOldFocus
129 MCAPI SettingsScreenController(
130 ::std::shared_ptr<::MainMenuScreenModel> model,
131 ::Realms::World const& world,
132 ::SettingsTabIndex tabIndex,
133 bool maintainOldFocus,
137 MCAPI SettingsScreenController(
138 ::std::shared_ptr<::MainMenuScreenModel> model,
139 ::LevelSummary const& levelSummary,
140 bool createFromTemplate,
141 ::std::
string packId,
142 ::std::function<
void()> onOpenCallback,
143 ::SettingsTabIndex tabIndex,
144 bool maintainOldFocus
147 MCAPI SettingsScreenController(
148 ::std::shared_ptr<::MainMenuScreenModel> model,
149 ::LevelSummary const& levelSummary,
150 ::SettingsTabIndex tabIndex,
151 bool navToMenuOnExit,
152 bool maintainOldFocus,
153 ::std::
string const& initialPackId,
159 MCAPI
void _makeSureInitialTabIsValid();
161 MCAPI
void _registerBindings();
163 MCAPI
void _registerEventHandlers();
165 MCAPI
void _registerSubControllers();
167 MCAPI ::std::
string getWorldId() const;
173 MCAPI static ::std::unordered_map<
int, ::SettingsScreenController::
SettingsScreenTabInfo> _createScreenInfo();
175 MCAPI static
void addStaticScreenVars(
176 ::Json::Value& globalVars,
179 bool isTemplateCreate,
182 bool isMultiplayerHost,
183 bool isMultiplayerClient,
184 bool isNonConfigRealmsEnv,
185 bool supportsGamepad,
186 bool supportsKeyboardMouse,
188 bool supportsFliteTTS,
189 bool platformTTSExists,
190 bool isEditorModeEnabled,
192 bool isPartySystemAvailable,
193 ::SettingsScreenCapabilities const& capabilities,
194 ::BuildPlatform const& buildPlatform
201 MCAPI static ::std::unordered_map<
int, ::SettingsScreenController::
SettingsScreenTabInfo> const& mScreenInfo();
208 ::std::shared_ptr<::MainMenuScreenModel> model,
210 ::SettingsTabIndex tabIndex,
211 bool maintainOldFocus
215 ::std::shared_ptr<::MainMenuScreenModel> model,
216 ::Realms::World const& world,
217 ::Realms::InviteLink const& link,
218 ::SettingsTabIndex tabIndex,
219 bool maintainOldFocus
223 ::std::shared_ptr<::MainMenuScreenModel> model,
224 ::Realms::World const& world,
225 ::SettingsTabIndex tabIndex,
226 bool maintainOldFocus,
231 ::std::shared_ptr<::MainMenuScreenModel> model,
232 ::LevelSummary const& levelSummary,
233 bool createFromTemplate,
234 ::std::
string packId,
235 ::std::function<
void()> onOpenCallback,
236 ::SettingsTabIndex tabIndex,
237 bool maintainOldFocus
241 ::std::shared_ptr<::MainMenuScreenModel> model,
242 ::LevelSummary const& levelSummary,
243 ::SettingsTabIndex tabIndex,
244 bool navToMenuOnExit,
245 bool maintainOldFocus,
246 ::std::
string const& initialPackId,
260 MCAPI
void $onOpen();
262 MCAPI
void $addStaticScreenVars(::Json::Value& globalVars);
264 MCAPI ::std::
string $getAdditionalScreenInfo() const;
266 MCAPI
void $addEventProperties(::std::unordered_map<::std::
string, ::std::
string>& eventProperties) const;
268 MCAPI
int $getScreenVersion() const;
270 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