3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/GameEventNotification.h"
8#include "mc/client/gui/SceneType.h"
9#include "mc/client/gui/ViewRequest.h"
10#include "mc/client/gui/screens/controllers/ClientInstanceScreenController.h"
11#include "mc/client/gui/screens/controllers/ModalScreenButtonId.h"
12#include "mc/client/social/ProfileImageOptions.h"
13#include "mc/deps/core/utility/pub_sub/Subscription.h"
14#include "mc/legacy/ActorUniqueID.h"
24namespace Json {
class Value; }
25namespace Realms {
struct World; }
26namespace mce {
class UUID; }
33 ::ll::TypedStorage<8, 24, ::std::vector<::ActorUniqueID>> mClientIds;
34 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::SocialButtonScreenController>> mSocialButtonScreenController;
35 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mCurrentClientId;
36 ::ll::TypedStorage<1, 1, bool> mPlayerListInitialized;
37 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::UserDataScreenController>> mUserDataScreenController;
38 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::PermissionsScreenController>> mPermissionsScreenController;
39 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::PauseScreenModel>> mPauseScreenModel;
40 ::ll::TypedStorage<8, 72, ::Social::ProfileImageOptions> mProfileImage;
41 ::ll::TypedStorage<1, 1, bool> mOldPauseStatus;
42 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnPlayerListEntryRemovedSub;
43 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mPauseOptionSubscription;
44 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mTrialModeUpdateSubscription;
45 ::ll::TypedStorage<1, 1, bool> mScoreboardShowing;
46 ::ll::TypedStorage<1, 1, bool> mPersonaEnabled;
47 ::ll::TypedStorage<1, 1, bool> mErrorButtonHovered;
48 ::ll::TypedStorage<4, 4, int> mPreviousMaxPlayerCount;
49 ::ll::TypedStorage<4, 4, int> mFeedUnreadCount;
50 ::ll::TypedStorage<1, 1, bool> mRefreshScreen;
51 ::ll::TypedStorage<1, 1, bool> mIsTrialModeEnabled;
52 ::ll::TypedStorage<1, 1, bool> mOverlaySocialDrawerOnce;
53 ::ll::TypedStorage<1, 1, bool> mOldUnreadMessagesStatus;
58 PauseScreenController();
63 virtual ~PauseScreenController() ;
65 virtual void onOpen() ;
67 virtual void onTerminate() ;
69 virtual void onInit() ;
71 virtual void onEntered() ;
73 virtual void addStaticScreenVars(::Json::Value& globalVars) ;
75 virtual ::ui::SceneType getSceneType() const ;
77 virtual ::ui::DirtyFlag tick() ;
79 virtual ::ui::DirtyFlag handleGameEventNotification(::ui::GameEventNotification notification) ;
81 virtual ::std::
string _getButtonADescription() ;
87 MCAPI PauseScreenController(::std::shared_ptr<::PauseScreenModel> model,
bool overlaySocialDrawerOnce);
89 MCFOLD
void _displayOpenExternalBrowserDialog(::std::function<
void(::ModalScreenButtonId)> callback);
91 MCAPI
void _getUnreadCount(::Realms::World const& world);
93 MCAPI
bool _isBigScreen();
95 MCAPI
bool _isInviteButtonEnabled() const;
97 MCAPI
bool _isInviteButtonVisible() const;
99 MCAPI
bool _isMultiplayerLocked() const;
101 MCAPI
bool _isProfileButtonAEnabled() const;
103 MCAPI
bool _isProfileButtonBEnabled() const;
105 MCAPI
void _navigateToInviteScreen();
107 MCAPI
void _navigateToPermissions(::ActorUniqueID const&
id);
109 MCAPI ::ui::ViewRequest _navigateToProfileOrSkinsScreen();
111 MCAPI
bool _needToUpdateSocialButton();
113 MCAPI
void _onPlayerListEntryRemoved(
114 ::PlayerListEntry const& list,
115 ::std::unordered_map<::mce::UUID, ::PlayerListEntry> const&
118 MCAPI
void _pauseToggleOptionCallback(::Option const& pauseFeatureToggle);
120 MCAPI
void _populateClientIds();
122 MCAPI
void _registerBindings();
124 MCAPI
void _registerConnectors();
126 MCAPI
void _registerEventHandlers();
128 MCAPI
void _registerSubControllers();
130 MCAPI
bool _showRealmsButtons() const;
132 MCAPI
void _updateProfileImage();
134 MCAPI
bool _useMovedInviteButton() const;
140 MCAPI
void* $ctor(::std::shared_ptr<::PauseScreenModel> model,
bool overlaySocialDrawerOnce);
152 MCAPI
void $onOpen();
154 MCAPI
void $onTerminate();
156 MCAPI
void $onInit();
158 MCAPI
void $onEntered();
160 MCAPI
void $addStaticScreenVars(::Json::Value& globalVars);
162 MCFOLD ::ui::SceneType $getSceneType() const;
164 MCAPI ::ui::DirtyFlag $tick();
166 MCAPI ::ui::DirtyFlag $handleGameEventNotification(::ui::GameEventNotification notification);
168 MCFOLD ::std::
string $_getButtonADescription();
Definition ClientInstanceScreenController.h:5
Definition PauseScreenController.h:5
static MCAPI void ** $vftableForEnableNonOwnerReferences()
static MCAPI void ** $vftableForScreenController()
Definition PauseScreenModel.h:5
Definition PermissionsScreenController.h:5
Definition PlayerListEntry.h:20
Definition UserDataScreenController.h:5