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