3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/GameEventNotification.h"
8#include "mc/client/gui/screens/controllers/MultiplayerLockState.h"
9#include "mc/client/gui/screens/controllers/SettingsScreenControllerBase.h"
10#include "mc/client/social/ProfileImageOptions.h"
11#include "mc/client/sound/SoundOptions.h"
12#include "mc/deps/core/threading/Async.h"
13#include "mc/deps/core/utility/pub_sub/Subscription.h"
14#include "mc/platform/Result.h"
27namespace Json {
class Value; }
28namespace MSGraph::Models {
struct GraphError; }
35 ::ll::TypedStorage<1, 1, bool> mIsGlobalSettings;
36 ::ll::TypedStorage<1, 1, bool> mReloadTexturePacksOnExit;
37 ::ll::TypedStorage<1, 1, bool> mGlobalResourcePacksVisible;
38 ::ll::TypedStorage<1, 1, bool> mLegacySyncOnly;
39 ::ll::TypedStorage<1, 1, bool> mHasLoadedCloudInfo;
40 ::ll::TypedStorage<1, 1, bool> mCloudConnectionError;
41 ::ll::TypedStorage<8, 32, ::std::string> mCloudUploadUrl;
45 ::Bedrock::Threading::Async<::Bedrock::Result<::std::string, ::MSGraph::Models::GraphError>>>
46 mCloudFolderUrlHandle;
47 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::std::string, ::std::string>>> mLanguages;
48 ::ll::TypedStorage<8, 8, uint64> mCurrentlySelectedIndex;
49 ::ll::TypedStorage<4, 4, int> mLanguageFocusFrameCountdown;
50 ::ll::TypedStorage<8, 8, ::MultiplayerLockState> mMultiplayerState;
51 ::ll::TypedStorage<8, 8, ::IContentManager&> mContentManager;
52 ::ll::TypedStorage<8, 8, ::PackManagerContentSourceImpl*> mResourceContentSource;
53 ::ll::TypedStorage<4, 36, ::tm> mLastRefreshTime;
54 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mScreenAnimationsOptionSubscription;
55 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mGraphicsQualityPresetOptionSubscription;
56 ::ll::TypedStorage<8, 32, ::std::string> mOverrideMajorVersion;
57 ::ll::TypedStorage<8, 32, ::std::string> mOverrideMinorVersion;
58 ::ll::TypedStorage<8, 32, ::std::string> mOverridePatchVersion;
59 ::ll::TypedStorage<8, 32, ::std::string> mOverrideBetaVersion;
60 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IContentManagerContext>> mContentManagerContext;
61 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::GeneralSettingsScreenControllerProxy>> mProxy;
62 ::ll::TypedStorage<8, 72, ::Social::ProfileImageOptions> mProfileImage;
63 ::ll::TypedStorage<8, 32, ::std::string> mUserDisplayName;
64 ::ll::TypedStorage<1, 1, bool> mDirty;
65 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::StorageManagementScreenController>>
66 mStorageManagementScreenController;
67 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::SubscriptionsScreenController>> mSubscriptionsScreenController;
68 ::ll::TypedStorage<8, 88, ::SoundOptions> mSoundOptions;
69 ::ll::TypedStorage<8, 32, ::std::string> mLeakMemoryMB;
70 ::ll::TypedStorage<1, 1, bool> mNeedsOfflineTokenAuthorization;
71 ::ll::TypedStorage<1, 1, bool> mEnableGameTipsDisplay;
72 ::ll::TypedStorage<1, 1, bool> mAdvancedGraphicsExpanded;
73 ::ll::TypedStorage<1, 1, bool> mGraphicsApiSwitchingEnabled;
74 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mTaskGroup;
79 GeneralSettingsScreenController& operator=(GeneralSettingsScreenController
const&);
80 GeneralSettingsScreenController(GeneralSettingsScreenController
const&);
81 GeneralSettingsScreenController();
86 virtual ~GeneralSettingsScreenController() =
default;
88 virtual ::ui::DirtyFlag tick() ;
90 virtual ::ui::DirtyFlag handleGameEventNotification(::ui::GameEventNotification notification) ;
92 virtual bool canExit() ;
94 virtual void onOpen() ;
96 virtual void addStaticScreenVars(::Json::Value& globalVars) ;
102 MCAPI GeneralSettingsScreenController(
103 ::std::shared_ptr<::MainMenuScreenModel> model,
104 bool isGlobalSettings,
105 bool reloadTexturePacksOnExit,
106 ::std::string
const& initialPackId,
110 MCAPI
bool _areAnyPackImportsPending()
const;
112 MCAPI
void _chooseLanguage(::std::string
const& selectedLanguageCode,
int selectedLanguageIndex);
114 MCAPI ::std::string _generateAccountInformation()
const;
116 MCAPI ::std::string _generateBuildInformation()
const;
118 MCAPI ::std::vector<int> _getGUIScaleValues()
const;
120 MCAPI
void _processPendingImports();
122 MCAPI
void _registerControllerCallbacks();
125 _setGlobalStack(::std::vector<::PackInstanceId>
const& modelManagerIdentities,
bool anyVersion,
bool saveStack);
127 MCAPI
void _setResourcePackStack();
129 MCAPI
void _updateProfileImage();
131 MCAPI
void setGuiScaleOption(
int guiScaleOffset);
138 addStaticScreenVars(::Json::Value& globalVars,
bool isTexturePackRequired,
bool showFeedbackButton);
145 ::std::shared_ptr<::MainMenuScreenModel> model,
146 bool isGlobalSettings,
147 bool reloadTexturePacksOnExit,
148 ::std::string
const& initialPackId,
156 MCAPI ::ui::DirtyFlag $tick();
158 MCAPI ::ui::DirtyFlag $handleGameEventNotification(::ui::GameEventNotification notification);
160 MCAPI
bool $canExit();
162 MCAPI
void $onOpen();
164 MCAPI
void $addStaticScreenVars(::Json::Value& globalVars);
Definition GeneralSettingsScreenControllerProxy.h:5
Definition GeneralSettingsScreenController.h:5
Definition IContentManagerContext.h:5
Definition IContentManager.h:5
Definition MainMenuScreenModel.h:5
Definition SettingsScreenControllerBase.h:5
Definition StorageManagementScreenController.h:5
Definition SubscriptionsScreenController.h:5
Definition TaskGroup.h:86
Definition GraphError.h:7
Definition PackInstanceId.h:8
Definition PackManagerContentSourceImpl.h:5