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"
22struct SettingsScreenCapabilities;
25namespace Json {
class Value; }
26namespace ui {
struct ScreenTechStackSelector; }
33 struct SettingsScreenTabInfo;
62 MCNAPI
void*
$ctor(::std::string tabName,
int tabVersion);
75 ::ll::TypedStorage<4, 4, ::SettingsTabIndex> mCurrentTab;
76 ::ll::TypedStorage<1, 1, bool> mInitialTabSelected;
77 ::ll::TypedStorage<4, 4, ::SettingsTabIndex> mInitialTab;
78 ::ll::TypedStorage<8, 32, ::std::string> mCurrentTabTitle;
79 ::ll::TypedStorage<8, 32, ::std::string> mInitialPack;
80 ::ll::TypedStorage<4, 4, ::SettingsScreenMode> mSettingsMode;
81 ::ll::TypedStorage<1, 1, bool> mShowRealmsSettings;
82 ::ll::TypedStorage<8, 656, ::Realms::World> mWorld;
83 ::ll::TypedStorage<1, 1, bool> mNavigateToMenuOnExit;
84 ::ll::TypedStorage<1, 1, bool> mIsGlobalSettingsScreen;
85 ::ll::TypedStorage<1, 1, bool> mReloadTexturePacksOnExit;
86 ::ll::TypedStorage<1, 1, bool const> mMaintainOldFocusOnOpen;
87 ::ll::TypedStorage<8, 32, ::std::string> mTTSSettingsScreenName;
88 ::ll::TypedStorage<1, 1, bool> mShowInviteLinkSettings;
89 ::ll::TypedStorage<8, 152, ::Realms::InviteLink> mInviteLink;
90 ::ll::TypedStorage<8, 16, ::OptionSaveDeferral> mOptionsSaveDeferral;
91 ::ll::TypedStorage<8, 32, ::std::string> mCurrentFocus;
92 ::ll::TypedStorage<8, 840, ::LevelSummary> mProvidedLevelSummary;
93 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::RealmsSettingsScreenController>> mRealmsSettingsScreenController;
94 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::RealmsInviteLinkSettingsScreenController>>
95 mRealmsInviteLinkSettingsScreenController;
96 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::GeneralSettingsScreenController>> mGeneralSettingsScreenController;
97 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::WorldSettingsScreenController>> mWorldSettingsScreenController;
98 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::SocialSettingsScreenController>> mSocialSettingsScreenController;
99 ::ll::TypedStorage<8, 64, ::std::function<void()>> mOnOpenCallback;
111 virtual void onOpen() ;
113 virtual void addStaticScreenVars(::Json::Value& globalVars) ;
115 virtual ::std::string getAdditionalScreenInfo() const ;
117 virtual
void addEventProperties(::
std::unordered_map<::
std::
string, ::
std::
string>& eventProperties) const
120 virtual
int getScreenVersion() const ;
122 virtual ::ui::SceneType getSceneType() const ;
131 ::SettingsTabIndex tabIndex,
132 bool maintainOldFocus
137 ::Realms::World const& world,
138 ::Realms::InviteLink const& link,
139 ::SettingsTabIndex tabIndex,
140 bool maintainOldFocus
145 ::Realms::World const& world,
146 ::SettingsTabIndex tabIndex,
147 bool maintainOldFocus,
153 ::LevelSummary const& levelSummary,
154 ::SettingsTabIndex tabIndex,
155 bool navToMenuOnExit,
156 bool maintainOldFocus,
157 ::
std::
string const& initialPackId
162 ::LevelSummary const& levelSummary,
163 bool createFromTemplate,
164 ::
std::
string packId,
165 ::
std::function<
void()> onOpenCallback,
166 ::SettingsTabIndex tabIndex,
167 bool maintainOldFocus
171 _getGamepadHelperLabelText(::
std::string_view localizationKey, ::
std::string_view noGamePadKey) const;
175 MCAPI
void _registerBindings();
177 MCAPI
void _registerEventHandlers();
179 MCAPI
void _registerSubControllers();
187 MCAPI static
void addStaticScreenVars(
188 ::Json::Value& globalVars,
191 bool isTemplateCreate,
194 bool isMultiplayerHost,
195 bool isMultiplayerClient,
196 bool isNonConfigRealmsEnv,
197 bool supportsGamepad,
198 bool supportsKeyboardMouse,
200 bool supportsFliteTTS,
201 bool platformTTSExists,
202 bool isEditorModeEnabled,
204 bool isPartySystemAvailable,
205 ::SettingsScreenCapabilities const& capabilities,
206 ::BuildPlatform const& buildPlatform,
207 ::ui::ScreenTechStackSelector const& screenTechStackSelector
223 ::SettingsTabIndex tabIndex,
224 bool maintainOldFocus
229 ::Realms::World const& world,
230 ::Realms::InviteLink const& link,
231 ::SettingsTabIndex tabIndex,
232 bool maintainOldFocus
237 ::Realms::World const& world,
238 ::SettingsTabIndex tabIndex,
239 bool maintainOldFocus,
245 ::LevelSummary const& levelSummary,
246 ::SettingsTabIndex tabIndex,
247 bool navToMenuOnExit,
248 bool maintainOldFocus,
249 ::
std::
string const& initialPackId
254 ::LevelSummary const& levelSummary,
255 bool createFromTemplate,
256 ::
std::
string packId,
257 ::
std::function<
void()> onOpenCallback,
258 ::SettingsTabIndex tabIndex,
259 bool maintainOldFocus
272 MCAPI
void $onOpen();
274 MCAPI
void $addStaticScreenVars(::Json::Value& globalVars);
276 MCAPI ::
std::
string $getAdditionalScreenInfo() const;
278 MCAPI
void $addEventProperties(::
std::unordered_map<::
std::
string, ::
std::
string>& eventProperties) const;
280 MCAPI
int $getScreenVersion() const;
282 MCFOLD ::ui::SceneType $getSceneType() const;
Definition MainMenuScreenModel.h:5
Definition SettingsScreenControllerBase.h:5
Definition SettingsScreenController.h:5
static MCAPI void ** $vftableForScreenController()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
Definition GeneralSettingsScreenController.h:5
Definition RealmsInviteLinkSettingsScreenController.h:5
Definition RealmsSettingsScreenController.h:5
Definition SettingsScreenController.h:37
MCAPI SettingsScreenTabInfo(::std::string tabName, int tabVersion)
MCAPI ~SettingsScreenTabInfo()
MCAPI void * $ctor(::std::string tabName, int tabVersion)
Definition SocialSettingsScreenController.h:5
Definition WorldSettingsScreenController.h:5