3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/GameEventNotification.h"
8#include "mc/client/gui/ProgressContentType.h"
9#include "mc/client/gui/SceneType.h"
10#include "mc/client/gui/screens/controllers/MinecraftScreenController.h"
11#include "mc/deps/application/common/utility/ScopedCPUBoost.h"
12#include "mc/deps/core/utility/BasicTimer.h"
13#include "mc/deps/core/utility/NonOwnerPointer.h"
14#include "mc/network/packet/ResourcePackResponse.h"
15#include "mc/world/level/GameType.h"
23namespace Json {
class Value; }
30 using ProgressDurationPair = ::std::pair<::std::string, float>;
35 ::ll::TypedStorage<1, 1, bool const> mSendProgressTelem;
36 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mProgressHandlerStartTime;
37 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::std::string, float>>> mProgressHandlerTimes;
38 ::ll::TypedStorage<1, 1, bool> mInitiated;
39 ::ll::TypedStorage<1, 1, bool> mNext;
40 ::ll::TypedStorage<1, 1, bool> mForceRenderBelow;
41 ::ll::TypedStorage<4, 4, float> mBackgroundFillAlpha;
42 ::ll::TypedStorage<8, 8, int64> mLocatingStartTime;
43 ::ll::TypedStorage<8, 32, ::std::string> mCalledFrom;
44 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ProgressHandler>> mProgressHandler;
45 ::ll::TypedStorage<8, 40, ::std::deque<::std::unique_ptr<::ProgressHandler>>> mProgressHandlerList;
46 ::ll::TypedStorage<4, 4, float> mAccumulatedProgressPercentageForHandlers;
47 ::ll::TypedStorage<4, 4, int> mTotalNumberOfProgressHandlers;
48 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IContentManagerContext>> mContentManagerContext;
49 ::ll::TypedStorage<8, 8, ::ContentView*> mRealmsContentView;
50 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::Progress::ProgressTips>> mProgressTips;
51 ::ll::TypedStorage<8, 80, ::BasicTimer> mLoadingTitleTimer;
52 ::ll::TypedStorage<4, 4, int> mLoadingTitleSuffixIndex;
53 ::ll::TypedStorage<1, 1, bool> mUseLoadingTipMessage;
54 ::ll::TypedStorage<1, 1, bool> mRealmsPlusExpired;
55 ::ll::TypedStorage<1, 1, bool> mHasLoadedProgressMessages;
56 ::ll::TypedStorage<1, 1, bool> mCurrentMessageIsRealms;
57 ::ll::TypedStorage<1, 1, bool> mIsRealmsScreen;
58 ::ll::TypedStorage<8, 32, ::std::string> mCurrentProgressMessage;
59 ::ll::TypedStorage<4, 4, float> mCustomObfuscateTime;
60 ::ll::TypedStorage<8, 8, int64> mLastProgressMessageUpdate;
61 ::ll::TypedStorage<8, 8, int64 const> mProgressMessageInterval;
62 ::ll::TypedStorage<8, 8, int64> mLastAudioProgressNotificationUpdate;
63 ::ll::TypedStorage<1, 1, bool> mResourcePackPacketReceived;
64 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mRequiredPackList;
65 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mOptionalPackList;
66 ::ll::TypedStorage<8, 32, ::std::vector<bool>> mOptionalPackSelected;
67 ::ll::TypedStorage<8, 32, ::ScopedCPUBoost> mCPUBoost;
68 ::ll::TypedStorage<1, 1, bool> mHasTicked;
69 ::ll::TypedStorage<1, 1, bool> mIsCancellable;
70 ::ll::TypedStorage<1, 1, bool> mAllowSmallDownloads;
71 ::ll::TypedStorage<1, 1, bool> mPrecachedGameplayScreens;
72 ::ll::TypedStorage<1, 1, bool> mDisconnectScreenDisplayed;
73 ::ll::TypedStorage<4, 4, ::ProgressContentType> mProgressContentType;
74 ::ll::TypedStorage<4, 4, ::GameType> mGameType;
75 ::ll::TypedStorage<1, 1, ::ResourcePackResponse> mLastUserChoiceDownloadResponse;
76 ::ll::TypedStorage<1, 1, bool> mLastUserChoiceOptionalPacks;
77 ::ll::TypedStorage<1, 1, bool> mLastUserChoiceForceServerPacks;
78 ::ll::TypedStorage<1, 1, bool> mDownloadAlreadyConfirmedByUser;
79 ::ll::TypedStorage<1, 1, bool> mCurrentlyShowAddonWarning;
80 ::ll::TypedStorage<1, 1, bool> mServerJoined;
85 ProgressScreenController();
90 virtual ~ProgressScreenController() ;
92 virtual void onCreation() ;
94 virtual void onOpen() ;
96 virtual ::ui::DirtyFlag handleGameEventNotification(::ui::GameEventNotification) ;
98 virtual ::ui::DirtyFlag tick() ;
100 virtual ::std::string getAdditionalScreenInfo() const ;
102 virtual
void addStaticScreenVars(::Json::Value& globalVars) ;
104 virtual
void addEventProperties(::std::unordered_map<::std::
string, ::std::
string>& eventProperties) const
107 virtual ::ui::SceneType getSceneType() const ;
109 virtual
bool _getGamepadHelperVisible() const ;
111 virtual ::std::
string _getButtonADescription() ;
117 MCAPI ProgressScreenController(
118 ::std::shared_ptr<::MinecraftScreenModel> model,
119 ::std::
string const& calledFrom,
120 ::std::unique_ptr<::ProgressHandler> progressInterface,
121 ::Bedrock::NotNullNonOwnerPtr<::Progress::ProgressTips> progressTips,
122 bool sendsProgressTelemetry,
124 bool forceRenderBelow,
126 float backgroundFillAlpha
129 MCAPI ProgressScreenController(
130 ::std::shared_ptr<::MinecraftScreenModel> model,
131 ::std::
string const& calledFrom,
132 ::std::deque<::std::unique_ptr<::ProgressHandler>> progressInterfaces,
133 ::Bedrock::NotNullNonOwnerPtr<::Progress::ProgressTips> progressTips,
134 bool sendsProgressTelemetry,
136 bool useLoadingTipMessage,
137 bool realmsPlusExpired,
138 bool allowSmallDownloads,
139 bool realmsProgressScreen,
140 ::ProgressContentType contentType,
145 MCAPI
void _confirmSpaceAvailable();
147 MCAPI ::std::
string const _getErrorCode() const;
149 MCAPI
float _getLoadingBarProgress() const;
151 MCAPI ::std::
string const _getProgressTitle() const;
153 MCAPI
bool _isInCancellableState() const;
155 MCAPI
void _openConfirmationDialog();
157 MCAPI
void _registerEventHandlers();
159 MCAPI
void _registerProgressBindings();
161 MCAPI
void _setupProgressScreen(
bool loadAssets);
163 MCAPI
void _updateProgressMessage(int64 const& timeNow,
bool force);
170 ::std::shared_ptr<::MinecraftScreenModel> model,
171 ::std::
string const& calledFrom,
172 ::std::unique_ptr<::ProgressHandler> progressInterface,
173 ::Bedrock::NotNullNonOwnerPtr<::Progress::ProgressTips> progressTips,
174 bool sendsProgressTelemetry,
176 bool forceRenderBelow,
178 float backgroundFillAlpha
182 ::std::shared_ptr<::MinecraftScreenModel> model,
183 ::std::
string const& calledFrom,
184 ::std::deque<::std::unique_ptr<::ProgressHandler>> progressInterfaces,
185 ::Bedrock::NotNullNonOwnerPtr<::Progress::ProgressTips> progressTips,
186 bool sendsProgressTelemetry,
188 bool useLoadingTipMessage,
189 bool realmsPlusExpired,
190 bool allowSmallDownloads,
191 bool realmsProgressScreen,
192 ::ProgressContentType contentType,
207 MCAPI
void $onCreation();
209 MCAPI
void $onOpen();
211 MCAPI ::ui::DirtyFlag $tick();
213 MCFOLD ::std::
string $getAdditionalScreenInfo() const;
215 MCAPI
void $addStaticScreenVars(::Json::Value& globalVars);
217 MCAPI
void $addEventProperties(::std::unordered_map<::std::
string, ::std::
string>& eventProperties) const;
219 MCFOLD ::ui::SceneType $getSceneType() const;
221 MCAPI
bool $_getGamepadHelperVisible() const;
223 MCFOLD ::std::
string $_getButtonADescription();
Definition ContentView.h:5
Definition IContentManagerContext.h:5
Definition MinecraftScreenController.h:5
Definition MinecraftScreenModel.h:5
Definition ProgressScreenController.h:5
static MCAPI void ** $vftableForScreenController()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
Definition ProgressHandler.h:5
Definition ProgressTips.h:7