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 importWorld(::LessonItem& item);
82
83 MCAPI void launchWorld(
84 ::LessonItem& item,
85 ::std::function<void()> const& onLaunchSucceeded,
86 ::std::function<void()> const& onLaunchFailed,
87 ::std::function<void(::LevelData&)> const& onLevelDataConstructed
88 );
89
90 MCAPI ::ui::DirtyFlag
91 tick(::LessonItem& activeItem, ::std::function<void(::LevelData&)> const& onLevelDataConstructed);
92 // NOLINTEND
93
94public:
95 // constructor thunks
96 // NOLINTBEGIN
97 MCAPI void* $ctor(
98 ::std::shared_ptr<::PlayScreenModel> model,
99 ::std::function<void()> onDownloadError,
100 ::IResourcePackRepository& rpr,
101 ::ResourcePackManager& rpm,
102 ::IMinecraftEventing& evt,
103 ::ToastManager& tm,
104 ::EducationContentManagerScreenController::OptionalBehavior optionalBehavior
105 );
106 // NOLINTEND
107};
Definition EducationContentManagerScreenController.h:5
Definition IMinecraftEventing.h:147
Definition IResourcePackRepository.h:35
Definition LessonItem.h:5
Definition LevelData.h:55
Definition MainMenuScreenController.h:5
Definition PlayScreenModel.h:5
Definition ResourcePackManager.h:36
Definition ToastManager.h:5
Definition WorldFileDownloadManager.h:5