Skip to content
LeviMC
English
AutoLightDark
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;
23class ProgressHandler;
24namespace Json { class Value; }
25namespace Progress { class ProgressTips; }
26// clang-format on
27
29public:
30 // ProgressScreenController inner types define
31 using ProgressDurationPair = ::std::pair<::std::string, float>;
32
33public:
34 // member variables
35 // NOLINTBEGIN
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;
83 // NOLINTEND
84
85public:
86 // prevent constructor by default
87 ProgressScreenController();
88
89public:
90 // virtual functions
91 // NOLINTBEGIN
92 virtual ~ProgressScreenController() /*override*/ = default;
93
94 virtual void onCreation() /*override*/;
95
96 virtual void onOpen() /*override*/;
97
98 virtual void onLeave() /*override*/;
99
100 virtual ::ui::DirtyFlag handleGameEventNotification(::ui::GameEventNotification notification) /*override*/;
101
102 virtual ::ui::DirtyFlag tick() /*override*/;
103
104 virtual ::std::string getAdditionalScreenInfo() const /*override*/;
105
106 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
107
108 virtual void addEventProperties(::std::unordered_map<::std::string, ::std::string>& eventProperties) const
109 /*override*/;
110
111 virtual ::ui::SceneType getSceneType() const /*override*/;
112
113 virtual bool _getGamepadHelperVisible() const /*override*/;
114
115 virtual ::std::string _getButtonADescription() /*override*/;
116 // NOLINTEND
117
118public:
119 // member functions
120 // NOLINTBEGIN
121 MCNAPI ProgressScreenController(
122 ::std::shared_ptr<::MinecraftScreenModel> model,
123 ::std::string const& calledFrom,
124 ::std::unique_ptr<::ProgressHandler> progressInterface,
125 ::Bedrock::NotNullNonOwnerPtr<::Progress::ProgressTips> progressTips,
126 bool sendsProgressTelemetry,
127 bool loadAssets,
128 bool forceRenderBelow,
129 bool isCancellable,
130 float backgroundFillAlpha
131 );
132
133 MCNAPI ProgressScreenController(
134 ::std::shared_ptr<::MinecraftScreenModel> model,
135 ::std::string const& calledFrom,
136 ::std::deque<::std::unique_ptr<::ProgressHandler>> progressInterfaces,
137 ::Bedrock::NotNullNonOwnerPtr<::Progress::ProgressTips> progressTips,
138 bool sendsProgressTelemetry,
139 bool loadAssets,
140 bool useLoadingTipMessage,
141 bool realmsPlusExpired,
142 bool allowSmallDownloads,
143 bool realmsProgressScreen,
144 ::ProgressContentType contentType,
145 ::GameType gameType,
146 bool isCancellable
147 );
148
149 MCNAPI bool _isInCancellableState() const;
150
152
153 MCNAPI void _setupProgressScreen(bool const loadAssets);
154
155 MCNAPI void _updateProgressMessage(int64 const& timeNow, bool force);
156 // NOLINTEND
157
158public:
159 // constructor thunks
160 // NOLINTBEGIN
161 MCNAPI void* $ctor(
162 ::std::shared_ptr<::MinecraftScreenModel> model,
163 ::std::string const& calledFrom,
164 ::std::unique_ptr<::ProgressHandler> progressInterface,
165 ::Bedrock::NotNullNonOwnerPtr<::Progress::ProgressTips> progressTips,
166 bool sendsProgressTelemetry,
167 bool loadAssets,
168 bool forceRenderBelow,
169 bool isCancellable,
170 float backgroundFillAlpha
171 );
172
173 MCNAPI void* $ctor(
174 ::std::shared_ptr<::MinecraftScreenModel> model,
175 ::std::string const& calledFrom,
176 ::std::deque<::std::unique_ptr<::ProgressHandler>> progressInterfaces,
177 ::Bedrock::NotNullNonOwnerPtr<::Progress::ProgressTips> progressTips,
178 bool sendsProgressTelemetry,
179 bool loadAssets,
180 bool useLoadingTipMessage,
181 bool realmsPlusExpired,
182 bool allowSmallDownloads,
183 bool realmsProgressScreen,
184 ::ProgressContentType contentType,
185 ::GameType gameType,
186 bool isCancellable
187 );
188 // NOLINTEND
189
190public:
191 // virtual function thunks
192 // NOLINTBEGIN
193 MCNAPI void $onCreation();
194
195 MCNAPI void $onOpen();
196
197 MCNAPI void $onLeave();
198
199 MCNAPI ::ui::DirtyFlag $handleGameEventNotification(::ui::GameEventNotification notification);
200
201 MCAPI ::ui::DirtyFlag $tick();
202
203 MCNAPI ::std::string $getAdditionalScreenInfo() const;
204
205 MCAPI void $addStaticScreenVars(::Json::Value& globalVars);
206
207 MCNAPI void $addEventProperties(::std::unordered_map<::std::string, ::std::string>& eventProperties) const;
208
209 MCNAPI ::ui::SceneType $getSceneType() const;
210
211 MCNAPI bool $_getGamepadHelperVisible() const;
212
213 MCNAPI ::std::string $_getButtonADescription();
214 // NOLINTEND
215};
Definition ContentView.h:5
Definition IContentManagerContext.h:5
Definition Value.h:16
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
STL namespace.