LeviLamina
Loading...
Searching...
No Matches
StorageManagementScreenController.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/ViewRequest.h"
8#include "mc/client/gui/screens/controllers/MainMenuScreenController.h"
9#include "mc/client/gui/screens/controllers/ModalScreenButtonId.h"
10#include "mc/client/gui/screens/controllers/StorageManagementScreenData.h"
11#include "mc/client/gui/screens/controllers/StorageManagementViews.h"
12#include "mc/client/legacy/ImportStatus.h"
13#include "mc/world/actor/player/LoadingState.h"
14
15// auto generated forward declare list
16// clang-format off
17class IContentManager;
23struct ContentItem;
24struct ImportResult;
25struct LegacyWorldInfo;
26// clang-format on
27
29public:
30 // StorageManagementScreenController inner types define
31 enum class ConvertProgressState : int {
32 Closed = 0,
33 Active = 1,
34 TryClose = 2,
35 };
36
37 using ContentItemPtr = ::std::shared_ptr<::ContentItem>;
38
39 using ConstContentItemPtr = ::std::shared_ptr<::ContentItem const>;
40
41 using ConvertProgressHandlerCallback = ::std::function<float()>;
42
43 using ConvertStateCallback = ::std::function<::LoadingState()>;
44
45public:
46 // member variables
47 // NOLINTBEGIN
48 ::ll::TypedStorage<8, 8, ::IContentManager*> mContentManager;
49 ::ll::TypedStorage<4, 4, ::ui::DirtyFlag> mReloadFlag;
50 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::StorageDependencyScreenController>> mDependencyScreenController;
51 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::StorageManagementScreenControllerProxy>> mProxy;
52 ::ll::TypedStorage<1, 1, bool> mShowDeleteModal;
53 ::ll::TypedStorage<1, 1, bool> mShowDeleteLocalScreenshotsModal;
54 ::ll::TypedStorage<1, 1, bool> mIsLegacyWorldTabExpanded;
55 ::ll::TypedStorage<4, 4, ::StorageManagementScreenController::ConvertProgressState> mProgressScreenState;
56 ::ll::TypedStorage<8, 8, ::LegacyWorldConverter&> mLegacyWorldConverter;
57 ::ll::TypedStorage<8, 16, ::gsl::not_null<::std::shared_ptr<::IStorageManagementModel>>> mModel;
58 ::ll::TypedStorage<8, 144, ::StorageManagementViews> mViews;
59 ::ll::TypedStorage<1, 5, ::StorageManagementScreenData> mData;
60 // NOLINTEND
61
62public:
63 // prevent constructor by default
64 StorageManagementScreenController& operator=(StorageManagementScreenController const&);
65 StorageManagementScreenController(StorageManagementScreenController const&);
66 StorageManagementScreenController();
67
68public:
69 // virtual functions
70 // NOLINTBEGIN
71 virtual ~StorageManagementScreenController() /*override*/ = default;
72
73 virtual ::ui::DirtyFlag tick() /*override*/;
74 // NOLINTEND
75
76public:
77 // member functions
78 // NOLINTBEGIN
79 MCAPI StorageManagementScreenController(::std::shared_ptr<::MainMenuScreenModel> model, ::IContentManager& manager);
80
81 MCAPI bool _containsPremiumWorldTemplate(::std::vector<::std::string>& outWorldList) const;
82
83 MCAPI void _convertLegacyWorld(::LegacyWorldInfo const& world);
84
85 MCAPI ::ui::ViewRequest _deleteButtonPressed();
86
87 MCAPI ::ui::ViewRequest _deleteLocalScreenshotsButtonPressed();
88
89 MCAPI ::ui::ViewRequest _deleteSelectedResources();
90
91 MCAPI void _deselectPacks();
92
93 MCAPI void _displayImportRetailWorldModal(uint64 worldSize, ::std::function<void(::ModalScreenButtonId)> callback);
94
95 MCAPI ::std::function<void(::Legacy::ImportStatus, float, ::std::shared_ptr<::ImportResult>)>
96 _getLegacyWorldConvertCallback(::LegacyWorldInfo const& worldInfo, ::std::string const& levelId);
97
98 MCAPI ::std::string _getLegacyWorldsSize(uint numberElements, uint64 size);
99
100 MCAPI void _onWorldConversionCompleted(::std::shared_ptr<::ImportResult> result, ::std::string const& levelId);
101
102 MCAPI void _openProcessLegacyWorldProgressDialog();
103
104 MCAPI void _registerBindings();
105
106 MCAPI void _registerLegacyWorldsBindings();
107
108 MCAPI void _registerRetailToPreviewWorldsBindings();
109
110 MCAPI ::ui::ViewRequest _selectLegacyWorld(int worldIndex);
111
112 MCAPI ::ui::ViewRequest _selectRetailToPreviewWorld(int worldIndex);
113
114 MCAPI void _syncLegacyWorlds();
115 // NOLINTEND
116
117public:
118 // static functions
119 // NOLINTBEGIN
120 MCAPI static void _deleteResources(::IStorageManagementModel& model, ::StorageManagementViews& views);
121 // NOLINTEND
122
123public:
124 // constructor thunks
125 // NOLINTBEGIN
126 MCAPI void* $ctor(::std::shared_ptr<::MainMenuScreenModel> model, ::IContentManager& manager);
127 // NOLINTEND
128
129public:
130 // virtual function thunks
131 // NOLINTBEGIN
132 MCAPI ::ui::DirtyFlag $tick();
133 // NOLINTEND
134
135public:
136 // vftables
137 // NOLINTBEGIN
138 MCNAPI static void** $vftableForScreenController();
139
141 // NOLINTEND
142};
Definition IContentManager.h:5
Definition IStorageManagementModel.h:5
Definition LegacyWorldConverter.h:5
Definition MainMenuScreenController.h:5
Definition MainMenuScreenModel.h:5
Definition StorageDependencyScreenController.h:5
Definition StorageManagementScreenControllerProxy.h:5
Definition StorageManagementScreenController.h:5
static MCAPI void ** $vftableForEnableNonOwnerReferences()
static MCAPI void ** $vftableForScreenController()
Definition ContentItem.h:5
Definition ImportResult.h:5
Definition LegacyWorldInfo.h:5