LeviLamina
Loading...
Searching...
No Matches
EDUWorldsScreenController.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/SettingsScreenControllerBase.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9
10// auto generated forward declare list
11// clang-format off
12class DlcUIWrapper;
13class IContentManager;
14class PlayScreenModel;
15class UIPropertyBag;
17struct LocalWorldInfo;
19namespace EduCloud { struct IEduCloudSaveSystem; }
20namespace Json { class Value; }
21// clang-format on
22
24public:
25 // EDUWorldsScreenController inner types define
26 enum class StartWorldCaller : int {
27 Play = 0,
28 Host = 1,
29 Download = 2,
30 };
31
32public:
33 // member variables
34 // NOLINTBEGIN
35 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::PlayScreenModel>> mPlayScreenModel;
36 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::WorldsClipboardScreenController>> mWorldsClipboardScreenController;
37 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::EduCloud::IEduCloudSaveSystem>> mEduCloudSaveSystem;
38 ::ll::TypedStorage<1, 1, bool> mManageActive;
39 ::ll::TypedStorage<1, 1, bool> mMatchedWorldsNeedsRefresh;
40 ::ll::TypedStorage<1, 1, bool> mPlaceholderSelected;
41 ::ll::TypedStorage<1, 1, bool> mChangingScreen;
42 ::ll::TypedStorage<1, 1, bool> mHandlingConflict;
43 ::ll::TypedStorage<1, 1, bool> mSkipNextFetch;
44 ::ll::TypedStorage<1, 1, bool> mWaitingOnWorldCloudChecks;
45 ::ll::TypedStorage<1, 1, bool> mWaitingOnSettingsCloudChecks;
46 ::ll::TypedStorage<8, 32, ::std::string> mSearchString;
47 ::ll::TypedStorage<8, 24, ::std::vector<uint64>> mMatchedWorlds;
48 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::DlcUIWrapper>> mDlcUIWrapper;
49 ::ll::TypedStorage<8, 8, ::PackManagerContentSource*> mWorldContentSource;
50 ::ll::TypedStorage<8, 8, ::IContentManager&> mContentManager;
51 ::ll::TypedStorage<4, 4, int> mLastSelectedWorldIndex;
52 // NOLINTEND
53
54public:
55 // prevent constructor by default
56 EDUWorldsScreenController& operator=(EDUWorldsScreenController const&);
57 EDUWorldsScreenController(EDUWorldsScreenController const&);
58 EDUWorldsScreenController();
59
60public:
61 // virtual functions
62 // NOLINTBEGIN
63 virtual ~EDUWorldsScreenController() /*override*/ = default;
64
65 virtual void onOpen() /*override*/;
66
67 virtual void onEntering() /*override*/;
68
69 virtual void onReload() /*override*/;
70
71 virtual void onTerminate() /*override*/;
72
73 virtual ::ui::DirtyFlag tick() /*override*/;
74
75 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
76 // NOLINTEND
77
78public:
79 // member functions
80 // NOLINTBEGIN
81 MCAPI explicit EDUWorldsScreenController(::std::shared_ptr<::PlayScreenModel> model);
82
83 MCAPI void _closeEduCloudConflictPopup(bool keepLocal);
84
85 MCAPI void _openWorldSettings(::std::string const& levelId);
86
87 MCAPI void _openWorldSettings(::LocalWorldInfo* worldInfo);
88
89 MCAPI void _registerBindings();
90
91 MCAPI void _registerControllerCallbacks();
92
93 MCAPI void _registerEventHandlers();
94
95 MCAPI void _registerSubControllers();
96
97 MCAPI void _showEduCloudConflictPopup();
98
99 MCAPI void _startWorld(::std::string const& levelId, ::EDUWorldsScreenController::StartWorldCaller caller);
100
101 MCAPI void _startWorld(::LocalWorldInfo* worldInfo, ::EDUWorldsScreenController::StartWorldCaller caller);
102 // NOLINTEND
103
104public:
105 // static functions
106 // NOLINTBEGIN
107 MCAPI static uint64 _getTileIndex(::UIPropertyBag& bag);
108 // NOLINTEND
109
110public:
111 // constructor thunks
112 // NOLINTBEGIN
113 MCAPI void* $ctor(::std::shared_ptr<::PlayScreenModel> model);
114 // NOLINTEND
115
116public:
117 // virtual function thunks
118 // NOLINTBEGIN
119 MCAPI void $onOpen();
120
121 MCAPI void $onEntering();
122
123 MCAPI void $onReload();
124
125 MCFOLD void $onTerminate();
126
127 MCAPI ::ui::DirtyFlag $tick();
128
129 MCFOLD void $addStaticScreenVars(::Json::Value& globalVars);
130 // NOLINTEND
131
132public:
133 // vftables
134 // NOLINTBEGIN
135 MCNAPI static void** $vftableForScreenController();
136
138 // NOLINTEND
139};
Definition DlcUIWrapper.h:5
Definition EDUWorldsScreenController.h:5
static MCAPI void ** $vftableForEnableNonOwnerReferences()
static MCAPI void ** $vftableForScreenController()
Definition IContentManager.h:5
Definition Value.h:16
Definition PlayScreenModel.h:5
Definition SettingsScreenControllerBase.h:5
Definition UIPropertyBag.h:5
Definition WorldsClipboardScreenController.h:5
Definition IEduCloudSaveSystem.h:7
Definition LocalWorldInfo.h:5
Definition PackManagerContentSource.h:5