LeviLamina
Loading...
Searching...
No Matches
PauseScreenController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
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"
15
16// auto generated forward declare list
17// clang-format off
18class Option;
21class PlayerListEntry;
24namespace Json { class Value; }
25namespace Realms { struct World; }
26namespace mce { class UUID; }
27// clang-format on
28
30public:
31 // member variables
32 // NOLINTBEGIN
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;
54 // NOLINTEND
55
56public:
57 // prevent constructor by default
58 PauseScreenController();
59
60public:
61 // virtual functions
62 // NOLINTBEGIN
63 virtual ~PauseScreenController() /*override*/;
64
65 virtual void onOpen() /*override*/;
66
67 virtual void onTerminate() /*override*/;
68
69 virtual void onInit() /*override*/;
70
71 virtual void onEntered() /*override*/;
72
73 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
74
75 virtual ::ui::SceneType getSceneType() const /*override*/;
76
77 virtual ::ui::DirtyFlag tick() /*override*/;
78
79 virtual ::ui::DirtyFlag handleGameEventNotification(::ui::GameEventNotification notification) /*override*/;
80
81 virtual ::std::string _getButtonADescription() /*override*/;
82 // NOLINTEND
83
84public:
85 // member functions
86 // NOLINTBEGIN
87 MCAPI PauseScreenController(::std::shared_ptr<::PauseScreenModel> model, bool overlaySocialDrawerOnce);
88
89 MCFOLD void _displayOpenExternalBrowserDialog(::std::function<void(::ModalScreenButtonId)> callback);
90
91 MCAPI void _getUnreadCount(::Realms::World const& world);
92
93 MCAPI bool _isBigScreen();
94
95 MCAPI bool _isInviteButtonEnabled() const;
96
97 MCAPI bool _isInviteButtonVisible() const;
98
99 MCAPI bool _isMultiplayerLocked() const;
100
101 MCAPI bool _isProfileButtonAEnabled() const;
102
103 MCAPI bool _isProfileButtonBEnabled() const;
104
105 MCAPI void _navigateToInviteScreen();
106
107 MCAPI void _navigateToPermissions(::ActorUniqueID const& id);
108
109 MCAPI ::ui::ViewRequest _navigateToProfileOrSkinsScreen();
110
111 MCAPI bool _needToUpdateSocialButton();
112
113 MCAPI void _onPlayerListEntryRemoved(
114 ::PlayerListEntry const& list,
115 ::std::unordered_map<::mce::UUID, ::PlayerListEntry> const&
116 );
117
118 MCAPI void _pauseToggleOptionCallback(::Option const& pauseFeatureToggle);
119
120 MCAPI void _populateClientIds();
121
122 MCAPI void _registerBindings();
123
124 MCAPI void _registerConnectors();
125
126 MCAPI void _registerEventHandlers();
127
128 MCAPI void _registerSubControllers();
129
130 MCAPI bool _showRealmsButtons() const;
131
132 MCAPI void _updateProfileImage();
133
134 MCAPI bool _useMovedInviteButton() const;
135 // NOLINTEND
136
137public:
138 // constructor thunks
139 // NOLINTBEGIN
140 MCAPI void* $ctor(::std::shared_ptr<::PauseScreenModel> model, bool overlaySocialDrawerOnce);
141 // NOLINTEND
142
143public:
144 // destructor thunk
145 // NOLINTBEGIN
146 MCAPI void $dtor();
147 // NOLINTEND
148
149public:
150 // virtual function thunks
151 // NOLINTBEGIN
152 MCAPI void $onOpen();
153
154 MCAPI void $onTerminate();
155
156 MCAPI void $onInit();
157
158 MCAPI void $onEntered();
159
160 MCAPI void $addStaticScreenVars(::Json::Value& globalVars);
161
162 MCFOLD ::ui::SceneType $getSceneType() const;
163
164 MCAPI ::ui::DirtyFlag $tick();
165
166 MCAPI ::ui::DirtyFlag $handleGameEventNotification(::ui::GameEventNotification notification);
167
168 MCFOLD ::std::string $_getButtonADescription();
169 // NOLINTEND
170
171public:
172 // vftables
173 // NOLINTBEGIN
175
176 MCNAPI static void** $vftableForScreenController();
177 // NOLINTEND
178};
Definition ClientInstanceScreenController.h:5
Definition Value.h:16
Definition Option.h:22
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 SocialButtonScreenController.h:5
Definition UserDataScreenController.h:5
Definition UUID.h:7
Definition World.h:7