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;
22struct ProgressHandler;
23namespace Json { class Value; }
24namespace Progress { struct 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 // NOLINTEND
82
83public:
84 // prevent constructor by default
85 ProgressScreenController();
86
87public:
88 // virtual functions
89 // NOLINTBEGIN
90 virtual ~ProgressScreenController() /*override*/;
91
92 virtual void onCreation() /*override*/;
93
94 virtual void onOpen() /*override*/;
95
96 virtual ::ui::DirtyFlag handleGameEventNotification(::ui::GameEventNotification) /*override*/;
97
98 virtual ::ui::DirtyFlag tick() /*override*/;
99
100 virtual ::std::string getAdditionalScreenInfo() const /*override*/;
101
102 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
103
104 virtual void addEventProperties(::std::unordered_map<::std::string, ::std::string>& eventProperties) const
105 /*override*/;
106
107 virtual ::ui::SceneType getSceneType() const /*override*/;
108
109 virtual bool _getGamepadHelperVisible() const /*override*/;
110
111 virtual ::std::string _getButtonADescription() /*override*/;
112 // NOLINTEND
113
114public:
115 // member functions
116 // NOLINTBEGIN
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,
123 bool loadAssets,
124 bool forceRenderBelow,
125 bool isCancellable,
126 float backgroundFillAlpha
127 );
128
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,
135 bool loadAssets,
136 bool useLoadingTipMessage,
137 bool realmsPlusExpired,
138 bool allowSmallDownloads,
139 bool realmsProgressScreen,
140 ::ProgressContentType contentType,
141 ::GameType gameType,
142 bool isCancellable
143 );
144
145 MCAPI void _confirmSpaceAvailable();
146
147 MCAPI ::std::string const _getErrorCode() const;
148
149 MCAPI float _getLoadingBarProgress() const;
150
151 MCAPI ::std::string const _getProgressTitle() const;
152
153 MCAPI bool _isInCancellableState() const;
154
155 MCAPI void _openConfirmationDialog();
156
157 MCAPI void _registerEventHandlers();
158
159 MCAPI void _registerProgressBindings();
160
161 MCAPI void _setupProgressScreen(bool loadAssets);
162
163 MCAPI void _updateProgressMessage(int64 const& timeNow, bool force);
164 // NOLINTEND
165
166public:
167 // constructor thunks
168 // NOLINTBEGIN
169 MCAPI void* $ctor(
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,
175 bool loadAssets,
176 bool forceRenderBelow,
177 bool isCancellable,
178 float backgroundFillAlpha
179 );
180
181 MCAPI void* $ctor(
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,
187 bool loadAssets,
188 bool useLoadingTipMessage,
189 bool realmsPlusExpired,
190 bool allowSmallDownloads,
191 bool realmsProgressScreen,
192 ::ProgressContentType contentType,
193 ::GameType gameType,
194 bool isCancellable
195 );
196 // NOLINTEND
197
198public:
199 // destructor thunk
200 // NOLINTBEGIN
201 MCAPI void $dtor();
202 // NOLINTEND
203
204public:
205 // virtual function thunks
206 // NOLINTBEGIN
207 MCAPI void $onCreation();
208
209 MCAPI void $onOpen();
210
211 MCAPI ::ui::DirtyFlag $tick();
212
213 MCFOLD ::std::string $getAdditionalScreenInfo() const;
214
215 MCAPI void $addStaticScreenVars(::Json::Value& globalVars);
216
217 MCAPI void $addEventProperties(::std::unordered_map<::std::string, ::std::string>& eventProperties) const;
218
219 MCFOLD ::ui::SceneType $getSceneType() const;
220
221 MCAPI bool $_getGamepadHelperVisible() const;
222
223 MCFOLD ::std::string $_getButtonADescription();
224 // NOLINTEND
225
226public:
227 // vftables
228 // NOLINTBEGIN
230
231 MCNAPI static void** $vftableForScreenController();
232 // NOLINTEND
233};
Definition ContentView.h:5
Definition IContentManagerContext.h:5
Definition Value.h:16
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