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"
24namespace Json {
class Value; }
31 using ProgressDurationPair = ::std::pair<::std::string, float>;
36 ::ll::TypedStorage<1, 1, bool const> mSendProgressTelem;
37 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mProgressHandlerStartTime;
38 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::std::string, float>>> mProgressHandlerTimes;
39 ::ll::TypedStorage<1, 1, bool> mInitiated;
40 ::ll::TypedStorage<1, 1, bool> mNext;
41 ::ll::TypedStorage<1, 1, bool> mForceRenderBelow;
42 ::ll::TypedStorage<4, 4, float> mBackgroundFillAlpha;
43 ::ll::TypedStorage<8, 8, int64> mLocatingStartTime;
44 ::ll::TypedStorage<8, 32, ::std::string> mCalledFrom;
45 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ProgressHandler>> mProgressHandler;
46 ::ll::TypedStorage<8, 40, ::std::deque<::std::unique_ptr<::ProgressHandler>>> mProgressHandlerList;
47 ::ll::TypedStorage<4, 4, float> mAccumulatedProgressPercentageForHandlers;
48 ::ll::TypedStorage<4, 4, int> mTotalNumberOfProgressHandlers;
49 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IContentManagerContext>> mContentManagerContext;
50 ::ll::TypedStorage<8, 8, ::ContentView*> mRealmsContentView;
51 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::Progress::ProgressTips>> mProgressTips;
52 ::ll::TypedStorage<8, 80, ::BasicTimer> mLoadingTitleTimer;
53 ::ll::TypedStorage<4, 4, int> mLoadingTitleSuffixIndex;
54 ::ll::TypedStorage<1, 1, bool> mUseLoadingTipMessage;
55 ::ll::TypedStorage<1, 1, bool> mRealmsPlusExpired;
56 ::ll::TypedStorage<1, 1, bool> mHasLoadedProgressMessages;
57 ::ll::TypedStorage<1, 1, bool> mCurrentMessageIsRealms;
58 ::ll::TypedStorage<1, 1, bool> mIsRealmsScreen;
59 ::ll::TypedStorage<8, 32, ::std::string> mCurrentProgressMessage;
60 ::ll::TypedStorage<4, 4, float> mCustomObfuscateTime;
61 ::ll::TypedStorage<8, 8, int64> mLastProgressMessageUpdate;
62 ::ll::TypedStorage<8, 8, int64 const> mProgressMessageInterval;
63 ::ll::TypedStorage<8, 8, int64> mLastAudioProgressNotificationUpdate;
64 ::ll::TypedStorage<1, 1, bool> mResourcePackPacketReceived;
65 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mRequiredPackList;
66 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mOptionalPackList;
67 ::ll::TypedStorage<8, 32, ::std::vector<bool>> mOptionalPackSelected;
68 ::ll::TypedStorage<8, 32, ::ScopedCPUBoost> mCPUBoost;
69 ::ll::TypedStorage<1, 1, bool> mHasTicked;
70 ::ll::TypedStorage<1, 1, bool> mIsCancellable;
71 ::ll::TypedStorage<1, 1, bool> mAllowSmallDownloads;
72 ::ll::TypedStorage<1, 1, bool> mPrecachedGameplayScreens;
73 ::ll::TypedStorage<1, 1, bool> mDisconnectScreenDisplayed;
74 ::ll::TypedStorage<4, 4, ::ProgressContentType> mProgressContentType;
75 ::ll::TypedStorage<4, 4, ::GameType> mGameType;
76 ::ll::TypedStorage<1, 1, ::ResourcePackResponse> mLastUserChoiceDownloadResponse;
77 ::ll::TypedStorage<1, 1, bool> mLastUserChoiceOptionalPacks;
78 ::ll::TypedStorage<1, 1, bool> mLastUserChoiceForceServerPacks;
79 ::ll::TypedStorage<1, 1, bool> mDownloadAlreadyConfirmedByUser;
80 ::ll::TypedStorage<1, 1, bool> mCurrentlyShowAddonWarning;
81 ::ll::TypedStorage<1, 1, bool> mServerJoined;
82 ::ll::TypedStorage<8, 16, ::gsl::not_null<::std::shared_ptr<::PerfProgressScreenTimer>>> mScreenTimer;
87 ProgressScreenController();
92 virtual ~ProgressScreenController() =
default;
94 virtual void onCreation() ;
96 virtual void onOpen() ;
98 virtual void onLeave() ;
100 virtual ::ui::DirtyFlag handleGameEventNotification(::ui::GameEventNotification notification) ;
102 virtual ::ui::DirtyFlag tick() ;
104 virtual ::std::string getAdditionalScreenInfo() const ;
106 virtual
void addStaticScreenVars(::Json::Value& globalVars) ;
108 virtual
void addEventProperties(::std::unordered_map<::std::
string, ::std::
string>& eventProperties) const
111 virtual ::ui::SceneType getSceneType() const ;
113 virtual
bool _getGamepadHelperVisible() const ;
115 virtual ::std::
string _getButtonADescription() ;
121 MCNAPI ProgressScreenController(
123 ::
std::
string const& calledFrom,
125 ::Bedrock::NotNullNonOwnerPtr<::Progress::ProgressTips> progressTips,
126 bool sendsProgressTelemetry,
128 bool forceRenderBelow,
130 float backgroundFillAlpha
133 MCNAPI ProgressScreenController(
135 ::
std::
string const& calledFrom,
137 ::Bedrock::NotNullNonOwnerPtr<::Progress::ProgressTips> progressTips,
138 bool sendsProgressTelemetry,
140 bool useLoadingTipMessage,
141 bool realmsPlusExpired,
142 bool allowSmallDownloads,
143 bool realmsProgressScreen,
144 ::ProgressContentType contentType,
163 ::
std::
string const& calledFrom,
165 ::Bedrock::NotNullNonOwnerPtr<::Progress::ProgressTips> progressTips,
166 bool sendsProgressTelemetry,
168 bool forceRenderBelow,
170 float backgroundFillAlpha
175 ::
std::
string const& calledFrom,
177 ::Bedrock::NotNullNonOwnerPtr<::Progress::ProgressTips> progressTips,
178 bool sendsProgressTelemetry,
180 bool useLoadingTipMessage,
181 bool realmsPlusExpired,
182 bool allowSmallDownloads,
183 bool realmsProgressScreen,
184 ::ProgressContentType contentType,
201 MCAPI ::ui::DirtyFlag $tick();
205 MCAPI
void $addStaticScreenVars(::Json::Value& globalVars);
Definition ContentView.h:5
Definition IContentManagerContext.h:5
Definition MinecraftScreenController.h:5
Definition MinecraftScreenModel.h:5
Definition PerfProgressScreenTimer.h:5
Definition ProgressHandler.h:5
Definition ProgressScreenController.h:5
MCAPI::ui::SceneType $getSceneType() const
MCAPI void $addEventProperties(::std::unordered_map<::std::string, ::std::string > &eventProperties) const
MCAPI::std::string $_getButtonADescription()
MCAPI::ui::DirtyFlag $handleGameEventNotification(::ui::GameEventNotification notification)
MCAPI bool _isInCancellableState() const
MCAPI bool $_getGamepadHelperVisible() const
MCAPI void * $ctor(::std::shared_ptr<::MinecraftScreenModel > model, ::std::string const &calledFrom, ::std::unique_ptr<::ProgressHandler > progressInterface, ::Bedrock::NotNullNonOwnerPtr<::Progress::ProgressTips > progressTips, bool sendsProgressTelemetry, bool loadAssets, bool forceRenderBelow, bool isCancellable, float backgroundFillAlpha)
MCAPI::std::string $getAdditionalScreenInfo() const
MCAPI void _updateProgressMessage(int64 const &timeNow, bool force)
MCAPI void _setupProgressScreen(bool const loadAssets)
MCAPI void _openConfirmationDialog()
Definition ProgressTips.h:7