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 MCNAPI SettingsScreenController(
106 ::SettingsTabIndex tabIndex,
107 bool maintainOldFocus
110 MCNAPI SettingsScreenController(
112 ::Realms::World const& world,
113 ::Realms::InviteLink const& link,
114 ::SettingsTabIndex tabIndex,
115 bool maintainOldFocus
118 MCNAPI SettingsScreenController(
120 ::Realms::World const& world,
121 ::SettingsTabIndex tabIndex,
122 bool maintainOldFocus,
126 MCNAPI SettingsScreenController(
129 bool createFromTemplate,
130 ::
std::
string packId,
131 ::
std::function<
void()> onOpenCallback,
132 ::SettingsTabIndex tabIndex,
133 bool maintainOldFocus
136 MCNAPI SettingsScreenController(
139 ::SettingsTabIndex tabIndex,
140 bool navToMenuOnExit,
141 bool maintainOldFocus,
142 ::
std::
string const& initialPackId,
155 MCNAPI static
void addStaticScreenVars(
156 ::Json::Value& globalVars,
159 bool isTemplateCreate,
161 bool isMultiplayerHost,
162 bool isMultiplayerClient,
163 bool isNonConfigRealmsEnv,
164 bool supportsGamepad,
165 bool supportsKeyboardMouse,
167 bool supportsFliteTTS,
168 bool platformTTSExists,
169 bool isEditorModeEnabled,
171 bool isPartySystemAvailable,
173 ::BuildPlatform const& buildPlatform
189 ::SettingsTabIndex tabIndex,
190 bool maintainOldFocus
195 ::Realms::World const& world,
196 ::Realms::InviteLink const& link,
197 ::SettingsTabIndex tabIndex,
198 bool maintainOldFocus
203 ::Realms::World const& world,
204 ::SettingsTabIndex tabIndex,
205 bool maintainOldFocus,
212 bool createFromTemplate,
213 ::
std::
string packId,
214 ::
std::function<
void()> onOpenCallback,
215 ::SettingsTabIndex tabIndex,
216 bool maintainOldFocus
222 ::SettingsTabIndex tabIndex,
223 bool navToMenuOnExit,
224 bool maintainOldFocus,
225 ::
std::
string const& initialPackId,
Definition GeneralSettingsScreenController.h:5
Definition MainMenuScreenModel.h:5
Definition RealmsInviteLinkSettingsScreenController.h:5
Definition RealmsSettingsScreenController.h:5
Definition SettingsScreenControllerBase.h:5
Definition SettingsScreenController.h:5
MCAPI::std::string $getAdditionalScreenInfo() const
MCAPI void $addStaticScreenVars(::Json::Value &globalVars)
static MCAPI ::std::unordered_map< int, ::SettingsScreenController::SettingsScreenTabInfo > const & mScreenInfo()
MCAPI void $addEventProperties(::std::unordered_map<::std::string, ::std::string > &eventProperties) const
MCAPI int $getScreenVersion() const
MCAPI void * $ctor(::std::shared_ptr<::MainMenuScreenModel > model, bool createWorld, ::SettingsTabIndex tabIndex, bool maintainOldFocus)
MCAPI::ui::SceneType $getSceneType() const
MCAPI void _registerSubControllers()
Definition SocialSettingsScreenController.h:5
Definition WorldSettingsScreenController.h:5
Definition LevelSummary.h:30
Definition SettingsScreenCapabilities.h:8
Definition SettingsScreenController.h:13