LeviLamina
Loading...
Searching...
No Matches
EducationContentManagerScreenController.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/screens/controllers/MainMenuScreenController.h"
8
9// auto generated forward declare list
10// clang-format off
13class LessonItem;
14class LevelData;
15class PlayScreenModel;
17class ToastManager;
19// clang-format on
20
22public:
23 // EducationContentManagerScreenController inner types define
24 enum class OptionalBehavior : uint {
25 // bitfield representation
26 None = 1u << 0,
27 AutoLaunchImportedItems = 1u << 1,
28 TrackTemplateInWorldSaves = 1u << 2,
29 TrackUserInWorldSaves = 1u << 3,
30 };
31
32 using OnDownloadError = ::std::function<void()>;
33
34 using OnLaunchSucceeded = ::std::function<void()>;
35
36 using OnLaunchFailed = ::std::function<void()>;
37
38 using OnLevelDataConstructed = ::std::function<void(::LevelData&)>;
39
40public:
41 // member variables
42 // NOLINTBEGIN
43 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::PlayScreenModel>> mPlayScreenModel;
44 ::ll::TypedStorage<8, 64, ::std::function<void()>> mOnDownloadError;
45 ::ll::TypedStorage<1, 1, bool> mIsDownloadInProgress;
46 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::WorldFileDownloadManager>> mWorldFileDownloadManager;
47 ::ll::TypedStorage<8, 8, ::IResourcePackRepository&> mResourcePackRepository;
48 ::ll::TypedStorage<8, 8, ::ResourcePackManager&> mResourcePackManager;
49 ::ll::TypedStorage<8, 8, ::IMinecraftEventing&> mEventing;
50 ::ll::TypedStorage<8, 8, ::ToastManager&> mToastManager;
51 ::ll::TypedStorage<4, 4, ::EducationContentManagerScreenController::OptionalBehavior> mOptionalBehavior;
52 // NOLINTEND
53
54public:
55 // prevent constructor by default
56 EducationContentManagerScreenController& operator=(EducationContentManagerScreenController const&);
57 EducationContentManagerScreenController(EducationContentManagerScreenController const&);
58 EducationContentManagerScreenController();
59
60public:
61 // virtual functions
62 // NOLINTBEGIN
63 virtual ~EducationContentManagerScreenController() /*override*/ = default;
64 // NOLINTEND
65
66public:
67 // member functions
68 // NOLINTBEGIN
69 MCAPI EducationContentManagerScreenController(
70 ::std::shared_ptr<::PlayScreenModel> model,
71 ::std::function<void()> onDownloadError,
72 ::IResourcePackRepository& rpr,
73 ::ResourcePackManager& rpm,
74 ::IMinecraftEventing& evt,
75 ::ToastManager& tm,
76 ::EducationContentManagerScreenController::OptionalBehavior optionalBehavior
77 );
78
79 MCAPI void cancelWorldDownload();
80
81 MCAPI void cancelWorldLaunch();
82
83 MCAPI void importWorld(::LessonItem& item);
84
85 MCAPI bool isDownloadInProgress() const;
86
87 MCAPI void launchWorld(
88 ::LessonItem& item,
89 ::std::function<void()> const& onLaunchSucceeded,
90 ::std::function<void()> const& onLaunchFailed,
91 ::std::function<void(::LevelData&)> const& onLevelDataConstructed
92 );
93
94 MCAPI ::ui::DirtyFlag
95 tick(::LessonItem& activeItem, ::std::function<void(::LevelData&)> const& onLevelDataConstructed);
96 // NOLINTEND
97
98public:
99 // constructor thunks
100 // NOLINTBEGIN
101 MCAPI void* $ctor(
102 ::std::shared_ptr<::PlayScreenModel> model,
103 ::std::function<void()> onDownloadError,
104 ::IResourcePackRepository& rpr,
105 ::ResourcePackManager& rpm,
106 ::IMinecraftEventing& evt,
107 ::ToastManager& tm,
108 ::EducationContentManagerScreenController::OptionalBehavior optionalBehavior
109 );
110 // NOLINTEND
111
112public:
113 // vftables
114 // NOLINTBEGIN
115 MCNAPI static void** $vftableForScreenController();
116
118 // NOLINTEND
119};
Definition EducationContentManagerScreenController.h:5
static MCAPI void ** $vftableForEnableNonOwnerReferences()
static MCAPI void ** $vftableForScreenController()
Definition IMinecraftEventing.h:138
Definition IResourcePackRepository.h:34
Definition LessonItem.h:5
Definition LevelData.h:55
Definition MainMenuScreenController.h:5
Definition PlayScreenModel.h:5
Definition ResourcePackManager.h:35
Definition ToastManager.h:5
Definition WorldFileDownloadManager.h:5