LeviLamina
Loading...
Searching...
No Matches
ProgressScreenController.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/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"
16
17// auto generated forward declare list
18// clang-format off
19class ContentView;
22class ProgressHandler;
23namespace Json { class Value; }
24namespace Progress { class ProgressTips; }
25// clang-format on
26
28public:
29 // ProgressScreenController inner types define
30 using ProgressDurationPair = ::std::pair<::std::string, float>;
31
32public:
33 // member variables
34 // NOLINTBEGIN
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;
81 ::ll::TypedStorage<1, 1, bool> mPartyPartiallyEligible;
82 ::ll::TypedStorage<1, 1, bool> mPartyNotEligible;
83 // NOLINTEND
84
85public:
86 // prevent constructor by default
87 ProgressScreenController();
88
89public:
90 // virtual functions
91 // NOLINTBEGIN
92 virtual ~ProgressScreenController() /*override*/;
93
94 virtual void onCreation() /*override*/;
95
96 virtual void onOpen() /*override*/;
97
98 virtual ::ui::DirtyFlag handleGameEventNotification(::ui::GameEventNotification notification) /*override*/;
99
100 virtual ::ui::DirtyFlag tick() /*override*/;
101
102 virtual ::std::string getAdditionalScreenInfo() const /*override*/;
103
104 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
105
106 virtual void addEventProperties(::std::unordered_map<::std::string, ::std::string>& eventProperties) const
107 /*override*/;
108
109 virtual ::ui::SceneType getSceneType() const /*override*/;
110
111 virtual bool _getGamepadHelperVisible() const /*override*/;
112
113 virtual ::std::string _getButtonADescription() /*override*/;
114 // NOLINTEND
115
116public:
117 // member functions
118 // NOLINTBEGIN
119 MCAPI ProgressScreenController(
120 ::std::shared_ptr<::MinecraftScreenModel> model,
121 ::std::string const& calledFrom,
122 ::std::unique_ptr<::ProgressHandler> progressInterface,
123 ::Bedrock::NotNullNonOwnerPtr<::Progress::ProgressTips> progressTips,
124 bool sendsProgressTelemetry,
125 bool loadAssets,
126 bool forceRenderBelow,
127 bool isCancellable,
128 float backgroundFillAlpha
129 );
130
131 MCAPI ProgressScreenController(
132 ::std::shared_ptr<::MinecraftScreenModel> model,
133 ::std::string const& calledFrom,
134 ::std::deque<::std::unique_ptr<::ProgressHandler>> progressInterfaces,
135 ::Bedrock::NotNullNonOwnerPtr<::Progress::ProgressTips> progressTips,
136 bool sendsProgressTelemetry,
137 bool loadAssets,
138 bool useLoadingTipMessage,
139 bool realmsPlusExpired,
140 bool allowSmallDownloads,
141 bool realmsProgressScreen,
142 ::ProgressContentType contentType,
143 ::GameType gameType,
144 bool isCancellable
145 );
146
147 MCAPI void _confirmSpaceAvailable();
148
149 MCAPI ::std::string const _getErrorCode() const;
150
151 MCAPI float _getLoadingBarProgress() const;
152
153 MCAPI ::std::string const _getProgressTitle() const;
154
155 MCAPI bool _isInCancellableState() const;
156
157 MCAPI void _openConfirmationDialog();
158
159 MCAPI void _openPartyNotEligibleModal();
160
161 MCAPI void _openPartyPartiallyEligibleModal();
162
163 MCAPI void _registerEventHandlers();
164
165 MCAPI void _registerProgressBindings();
166
167 MCAPI void _setupProgressScreen(bool loadAssets);
168
169 MCAPI void _updateProgressMessage(int64 const& timeNow, bool force);
170 // NOLINTEND
171
172public:
173 // constructor thunks
174 // NOLINTBEGIN
175 MCAPI void* $ctor(
176 ::std::shared_ptr<::MinecraftScreenModel> model,
177 ::std::string const& calledFrom,
178 ::std::unique_ptr<::ProgressHandler> progressInterface,
179 ::Bedrock::NotNullNonOwnerPtr<::Progress::ProgressTips> progressTips,
180 bool sendsProgressTelemetry,
181 bool loadAssets,
182 bool forceRenderBelow,
183 bool isCancellable,
184 float backgroundFillAlpha
185 );
186
187 MCAPI void* $ctor(
188 ::std::shared_ptr<::MinecraftScreenModel> model,
189 ::std::string const& calledFrom,
190 ::std::deque<::std::unique_ptr<::ProgressHandler>> progressInterfaces,
191 ::Bedrock::NotNullNonOwnerPtr<::Progress::ProgressTips> progressTips,
192 bool sendsProgressTelemetry,
193 bool loadAssets,
194 bool useLoadingTipMessage,
195 bool realmsPlusExpired,
196 bool allowSmallDownloads,
197 bool realmsProgressScreen,
198 ::ProgressContentType contentType,
199 ::GameType gameType,
200 bool isCancellable
201 );
202 // NOLINTEND
203
204public:
205 // destructor thunk
206 // NOLINTBEGIN
207 MCAPI void $dtor();
208 // NOLINTEND
209
210public:
211 // virtual function thunks
212 // NOLINTBEGIN
213 MCAPI void $onCreation();
214
215 MCAPI void $onOpen();
216
217 MCAPI ::ui::DirtyFlag $handleGameEventNotification(::ui::GameEventNotification notification);
218
219 MCAPI ::ui::DirtyFlag $tick();
220
221 MCFOLD ::std::string $getAdditionalScreenInfo() const;
222
223 MCAPI void $addStaticScreenVars(::Json::Value& globalVars);
224
225 MCAPI void $addEventProperties(::std::unordered_map<::std::string, ::std::string>& eventProperties) const;
226
227 MCFOLD ::ui::SceneType $getSceneType() const;
228
229 MCAPI bool $_getGamepadHelperVisible() const;
230
231 MCFOLD ::std::string $_getButtonADescription();
232 // NOLINTEND
233
234public:
235 // vftables
236 // NOLINTBEGIN
238
239 MCNAPI static void** $vftableForScreenController();
240 // NOLINTEND
241};
Definition ContentView.h:5
Definition IContentManagerContext.h:5
Definition Value.h:16
Definition MinecraftScreenController.h:5
Definition MinecraftScreenModel.h:5
Definition ProgressHandler.h:5
Definition ProgressScreenController.h:5
static MCAPI void ** $vftableForScreenController()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
Definition ProgressTips.h:7