3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/certificates/identity/edu/CredentialsObserver.h"
7#include "mc/certificates/identity/edu/GenericCredentialsEvent.h"
8#include "mc/client/gui/DirtyFlag.h"
9#include "mc/client/gui/GameEventNotification.h"
10#include "mc/client/gui/SceneType.h"
11#include "mc/client/gui/ViewRequest.h"
12#include "mc/client/gui/screens/controllers/MainMenuScreenController.h"
13#include "mc/client/network/realms/GenericStatus.h"
14#include "mc/client/services/messaging/MessageData.h"
15#include "mc/client/social/ProfileImageOptions.h"
16#include "mc/client/social/UserPlatformConnectionResult.h"
17#include "mc/deps/core/threading/TaskGroup.h"
18#include "mc/deps/core/utility/NonOwnerPointer.h"
19#include "mc/deps/core/utility/pub_sub/Subscription.h"
20#include "mc/network/ExperiencePromotion.h"
21#include "mc/services/flighting/InboxIconFlightingState.h"
26class IEntitlementManager;
30namespace Json {
class Value; }
38 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::SocialButtonScreenController>> mSocialButtonScreenController;
39 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager>> mEntitlementManager;
40 ::ll::TypedStorage<1, 1, bool> mDirty;
41 ::ll::TypedStorage<4, 4, int> mPendingInvites;
42 ::ll::TypedStorage<1, 1, bool> mSigningIn;
43 ::ll::TypedStorage<1, 1, bool> mNewStoreOffersAvailable;
44 ::ll::TypedStorage<1, 1, bool> mErrorButtonHovered;
45 ::ll::TypedStorage<4, 4, int> mAnimationCount;
46 ::ll::TypedStorage<8, 32, ::std::string> mAnimatedMessage;
47 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLastSigningInAnimation;
48 ::ll::TypedStorage<8, 8, int64> mNextContentFetchTime;
49 ::ll::TypedStorage<8, 16, ::std::shared_ptr<bool>> mExistenceTracker;
50 ::ll::TypedStorage<8, 104, ::Social::ProfileImageOptions> mProfileImage;
51 ::ll::TypedStorage<1, 1, bool> mProfileImageLoaded;
52 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mProfileImageChangedSubscription;
53 ::ll::TypedStorage<1, 1, bool> mSetFocusToSignInButton;
54 ::ll::TypedStorage<1, 1, bool> mCapabilitiesChanged;
55 ::ll::TypedStorage<8, 336, ::TaskGroup> mTaskGroup;
56 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::ButtonArtSurface>> mStoreButtonArtSurface;
57 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::ButtonArtSurface>> mPlayButtonArtSurface;
58 ::ll::TypedStorage<8, 848, ::std::optional<::MessageData>> mStoreButtonArtData;
59 ::ll::TypedStorage<8, 848, ::std::optional<::MessageData>> mPlayButtonArtData;
60 ::ll::TypedStorage<1, 1, bool> mStoreButtonHovered;
61 ::ll::TypedStorage<1, 1, bool> mPlayButtonHovered;
62 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::InboxSurface>> mInboxSurface;
63 ::ll::TypedStorage<4, 4, int> mUnreadInvites;
64 ::ll::TypedStorage<1, 1, bool> mInitialInboxAnimationPlayed;
65 ::ll::TypedStorage<1, 1, bool> mShowingNewPlayerFlowButtons;
66 ::ll::TypedStorage<4, 4, ::InboxIconFlightingState> mInboxIconState;
67 ::ll::TypedStorage<1, 1, bool> mNeedToPlayMainButtonsShowAnimation;
68 ::ll::TypedStorage<8, 248, ::std::optional<::ExperiencePromotion>> mActivePromotion;
69 ::ll::TypedStorage<1, 1, bool> mOwnsRealmsSubscription;
70 ::ll::TypedStorage<1, 1, bool> mRealmsFetched;
71 ::ll::TypedStorage<4, 4, ::Realms::GenericStatus> mRealmsStatus;
72 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mPendingInviteCountSubscriber;
73 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mPrimaryUserSignInSubscription;
74 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mTrialModeUpdateSubscription;
75 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mInboxIconStateSubscription;
76 ::ll::TypedStorage<1, 1, bool> mIsTrialModeEnabled;
81 StartMenuScreenController();
86 virtual ~StartMenuScreenController() =
default;
88 virtual void handleLicenseChanged() ;
90 virtual ::ui::SceneType getSceneType() const ;
92 virtual
void onCreation() ;
94 virtual
void queueTitleNarration() ;
96 virtual
void onOpen() ;
98 virtual
void onEntered() ;
100 virtual
void onInit() ;
102 virtual ::ui::DirtyFlag tick() ;
104 virtual ::ui::DirtyFlag handleGameEventNotification(::ui::GameEventNotification notification) ;
106 virtual
void addStaticScreenVars(::Json::Value& globalVars) ;
109 onNotify(::edu::auth::GenericCredentialsEvent<::edu::auth::CredsAuthComplete> const& state) ;
111 virtual ::std::
string _getButtonYDescription() ;
113 virtual ::std::
string _getButtonXDescription() ;
115 virtual ::ui::ViewRequest promptConnect(
116 bool signInOnSuccess,
117 ::std::function<
void(::Social::UserPlatformConnectionResult)> signInCallback
124 MCAPI StartMenuScreenController(
125 ::std::shared_ptr<::MainMenuScreenModel> model,
126 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager
151 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager
162 MCAPI
void $onCreation();
166 MCAPI
void $onOpen();
172 MCAPI ::ui::DirtyFlag $tick();
178 MCNAPI
void $onNotify(::edu::auth::GenericCredentialsEvent<::edu::auth::CredsAuthComplete> const& state);
184 MCNAPI ::ui::ViewRequest
185 $promptConnect(
bool signInOnSuccess, ::
std::function<
void(::Social::UserPlatformConnectionResult)> signInCallback);
Definition InboxSurface.h:5
Definition MainMenuScreenController.h:5
Definition MainMenuScreenModel.h:5
Definition CredentialsObserver.h:7
Definition CredsAuthComplete.h:7