3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/ProgressHandler.h"
7#include "mc/deps/core/threading/Async.h"
8#include "mc/world/actor/player/LoadingState.h"
20 enum class Result :
int {
29 ::ll::TypedStorage<8, 32, ::std::string> mLevelID;
30 ::ll::TypedStorage<8, 32, ::std::string> mNewWorldId;
31 ::ll::TypedStorage<8, 16, ::Bedrock::Threading::Async<::WorldCopyProgressHandler::Result>> mCopyTaskHandle;
32 ::ll::TypedStorage<8, 64, ::std::function<void(::LevelData&)>> mSetDataCallback;
33 ::ll::TypedStorage<8, 64, ::std::function<void(::WorldCopyProgressHandler::Result)>> mOnCompleteCallback;
34 ::ll::TypedStorage<4, 4, ::std::atomic<float>> mProgress;
35 ::ll::TypedStorage<4, 4, float> mShownProgress;
36 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mStartTimestamp;
37 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLastTickTimestamp;
38 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mIOTaskGroup;
39 ::ll::TypedStorage<8, 32, ::std::string> mBaseProgressMessage;
40 ::ll::TypedStorage<8, 32, ::std::string> mTTSProgressMessage;
41 ::ll::TypedStorage<8, 32, ::std::string> mTitleText;
46 WorldCopyProgressHandler();
51 virtual ~WorldCopyProgressHandler() ;
53 virtual void onStart(::MinecraftScreenModel& minecraftScreenModel) ;
55 virtual void tick(::MinecraftScreenModel& minecraftScreenModel) ;
57 virtual void onCancel(::MinecraftScreenModel& minecraftScreenModel) ;
59 virtual void onExit(::MinecraftScreenModel& minecraftScreenModel) ;
61 virtual ::LoadingState getLoadingState(::MinecraftScreenModel& minecraftScreenModel)
const ;
63 virtual float getLoadingProgress(::MinecraftScreenModel& minecraftScreenModel)
const ;
65 virtual ::std::string getProgressMessage(::MinecraftScreenModel& minecraftScreenModel)
const ;
67 virtual ::std::string getTTSProgressMessage() const ;
69 virtual ::std::
string getTitleText() const ;
71 virtual ::std::
string getName() const ;
77 MCAPI WorldCopyProgressHandler(
78 ::std::
string const& levelID,
79 bool isEditorModeEnabled,
80 ::std::function<
void(::LevelData&)> setDataCallback,
81 ::std::function<
void(::WorldCopyProgressHandler::Result)> onCompleteCallback
89 ::std::
string const& levelID,
90 bool isEditorModeEnabled,
91 ::std::function<
void(::LevelData&)> setDataCallback,
92 ::std::function<
void(::WorldCopyProgressHandler::Result)> onCompleteCallback
105 MCAPI
void $onStart(::MinecraftScreenModel& minecraftScreenModel);
107 MCAPI
void $tick(::MinecraftScreenModel& minecraftScreenModel);
109 MCFOLD
void $onCancel(::MinecraftScreenModel& minecraftScreenModel);
111 MCFOLD
void $onExit(::MinecraftScreenModel& minecraftScreenModel);
113 MCFOLD ::LoadingState $getLoadingState(::MinecraftScreenModel& minecraftScreenModel) const;
115 MCAPI
float $getLoadingProgress(::MinecraftScreenModel& minecraftScreenModel) const;
117 MCAPI ::std::
string $getProgressMessage(::MinecraftScreenModel& minecraftScreenModel) const;
119 MCAPI ::std::
string $getTTSProgressMessage() const;
121 MCAPI ::std::
string $getTitleText() const;
123 MCAPI ::std::
string $getName() const;
Definition LevelData.h:52
Definition MinecraftScreenModel.h:5
Definition ProgressHandler.h:5
Definition TaskGroup.h:57
Definition WorldCopyProgressHandler.h:5
static MCAPI void ** $vftable()