Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
StartMenuScreenController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
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"
22
23// auto generated forward declare list
24// clang-format off
26class IEntitlementManager;
27class InboxSurface;
30namespace Json { class Value; }
31namespace edu::auth { struct CredsAuthComplete; }
32// clang-format on
33
35public:
36 // member variables
37 // NOLINTBEGIN
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;
77 // NOLINTEND
78
79public:
80 // prevent constructor by default
81 StartMenuScreenController();
82
83public:
84 // virtual functions
85 // NOLINTBEGIN
86 virtual ~StartMenuScreenController() /*override*/ = default;
87
88 virtual void handleLicenseChanged() /*override*/;
89
90 virtual ::ui::SceneType getSceneType() const /*override*/;
91
92 virtual void onCreation() /*override*/;
93
94 virtual void queueTitleNarration() /*override*/;
95
96 virtual void onOpen() /*override*/;
97
98 virtual void onEntered() /*override*/;
99
100 virtual void onInit() /*override*/;
101
102 virtual ::ui::DirtyFlag tick() /*override*/;
103
104 virtual ::ui::DirtyFlag handleGameEventNotification(::ui::GameEventNotification notification) /*override*/;
105
106 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
107
108 virtual void
109 onNotify(::edu::auth::GenericCredentialsEvent<::edu::auth::CredsAuthComplete> const& state) /*override*/;
110
111 virtual ::std::string _getButtonYDescription() /*override*/;
112
113 virtual ::std::string _getButtonXDescription() /*override*/;
114
115 virtual ::ui::ViewRequest promptConnect(
116 bool signInOnSuccess,
117 ::std::function<void(::Social::UserPlatformConnectionResult)> signInCallback
118 ) /*override*/;
119 // NOLINTEND
120
121public:
122 // member functions
123 // NOLINTBEGIN
124 MCAPI StartMenuScreenController(
125 ::std::shared_ptr<::MainMenuScreenModel> model,
126 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager
127 );
128
129 MCNAPI bool _YHelperVisible() const;
130
131 MCNAPI void _fetchUserOrientedContent(bool const signInFailed);
132
133 MCNAPI bool _isProfileButtonAEnabled() const;
134
135 MCNAPI bool _isProfileButtonBEnabled() const;
136
137 MCNAPI bool _isSignInVisible();
138
139 MCNAPI bool _realmsPromoEnabled() const;
140
141 MCNAPI void resetInboxAnimation();
142
143 MCNAPI void startInboxAnimation();
144 // NOLINTEND
145
146public:
147 // constructor thunks
148 // NOLINTBEGIN
149 MCAPI void* $ctor(
150 ::std::shared_ptr<::MainMenuScreenModel> model,
151 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager
152 );
153 // NOLINTEND
154
155public:
156 // virtual function thunks
157 // NOLINTBEGIN
159
160 MCNAPI ::ui::SceneType $getSceneType() const;
161
162 MCAPI void $onCreation();
163
164 MCNAPI void $queueTitleNarration();
165
166 MCAPI void $onOpen();
167
168 MCNAPI void $onEntered();
169
170 MCNAPI void $onInit();
171
172 MCAPI ::ui::DirtyFlag $tick();
173
174 MCNAPI ::ui::DirtyFlag $handleGameEventNotification(::ui::GameEventNotification notification);
175
176 MCNAPI void $addStaticScreenVars(::Json::Value& globalVars);
177
178 MCNAPI void $onNotify(::edu::auth::GenericCredentialsEvent<::edu::auth::CredsAuthComplete> const& state);
179
180 MCNAPI ::std::string $_getButtonYDescription();
181
182 MCNAPI ::std::string $_getButtonXDescription();
183
184 MCNAPI ::ui::ViewRequest
185 $promptConnect(bool signInOnSuccess, ::std::function<void(::Social::UserPlatformConnectionResult)> signInCallback);
186 // NOLINTEND
187};
Definition ButtonArtSurface.h:5
Definition InboxSurface.h:5
Definition Value.h:16
Definition MainMenuScreenController.h:5
Definition MainMenuScreenModel.h:5
Definition SocialButtonScreenController.h:5
Definition StartMenuScreenController.h:5
MCAPI bool _isProfileButtonAEnabled() const
MCAPI void _fetchUserOrientedContent(bool const signInFailed)
MCAPI::ui::ViewRequest $promptConnect(bool signInOnSuccess, ::std::function< void(::Social::UserPlatformConnectionResult)> signInCallback)
MCAPI::ui::DirtyFlag $handleGameEventNotification(::ui::GameEventNotification notification)
MCAPI void $handleLicenseChanged()
MCAPI void resetInboxAnimation()
MCAPI bool _isSignInVisible()
MCAPI void $queueTitleNarration()
MCAPI bool _isProfileButtonBEnabled() const
MCAPI void startInboxAnimation()
MCAPI bool _realmsPromoEnabled() const
MCAPI::std::string $_getButtonXDescription()
MCAPI bool _YHelperVisible() const
MCAPI void $addStaticScreenVars(::Json::Value &globalVars)
MCAPI void $onNotify(::edu::auth::GenericCredentialsEvent<::edu::auth::CredsAuthComplete > const &state)
MCAPI::std::string $_getButtonYDescription()
MCAPI::ui::SceneType $getSceneType() const
STL namespace.
Definition CredentialsObserver.h:7
Definition CredsAuthComplete.h:7