LeviLamina
Loading...
Searching...
No Matches
SettingsScreenControllerBase.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/ViewRequest.h"
7#include "mc/client/gui/screens/controllers/MainMenuScreenController.h"
8#include "mc/client/gui/screens/controllers/ModalScreenButtonId.h"
9#include "mc/client/gui/screens/controllers/SettingsScreenMode.h"
10#include "mc/client/world/PostCreateWorldAction.h"
11#include "mc/options/option_types/OptionID.h"
12#include "mc/world/level/NetherWorldType.h"
13
14// auto generated forward declare list
15// clang-format off
16class DlcUIWrapper;
17class Experiments;
18class IContentManager;
20class LevelSeed64;
22struct LevelSummary;
23struct LocalWorldInfo;
25struct SpawnSettings;
26namespace Json { class Value; }
27namespace Realms { struct World; }
28// clang-format on
29
31public:
32 // SettingsScreenControllerBase inner types define
33 using BooleanOptionGetter = ::std::function<bool()>;
34
35 using BooleanOptionSetter = ::std::function<void(bool)>;
36
37 using StringOptionSetter = ::std::function<void(::std::string const&)>;
38
39 using StringValidator = ::std::function<bool(::std::string const&)>;
40
41 using StringFinished = ::std::function<void()>;
42
43 using IntegerOptionGetter = ::std::function<int()>;
44
45 using IntegerOptionSetter = ::std::function<void(int)>;
46
47public:
48 // prevent constructor by default
49 SettingsScreenControllerBase();
50
51public:
52 // virtual functions
53 // NOLINTBEGIN
54 virtual ~SettingsScreenControllerBase() /*override*/;
55
56 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
57
58 virtual void _displayLockedWorldPopup();
59 // NOLINTEND
60
61public:
62 // member functions
63 // NOLINTBEGIN
64 MCAPI explicit SettingsScreenControllerBase(::std::shared_ptr<::MainMenuScreenModel> model);
65
66 MCAPI void _addResourcePacks(::LocalWorldInfo const& worldInfo);
67
68 MCAPI bool _copyResourcePacks(
69 ::PackManagerContentSource* worldContentSource,
70 ::IContentManager& contentManager,
71 ::LevelSummary levelSummary,
72 ::std::function<void()> progressCallback
73 );
74
75 MCAPI ::ui::ViewRequest _createWorld(
76 ::Experiments* experiments,
77 ::SettingsScreenMode settingsMode,
78 ::LevelSeed64 levelSeed,
79 ::LevelSummary levelSummary,
80 ::LevelDataWrapper& levelData,
81 ::SpawnSettings spawnSettings,
82 ::NetherWorldType netherType,
83 ::PackManagerContentSource* worldContentSource,
84 ::IContentManager& contentManager,
85 ::PostCreateWorldAction postCreateWorldAction,
86 ::DlcUIWrapper* dlcUIWrapper,
87 ::Realms::World& realmWorld,
88 ::std::function<void(::std::function<void()>)> postUploadWorldToRealm
89 );
90
91 MCAPI void _initLevelData(::LevelDataWrapper& levelData, bool platformMultiplayerRestrictions);
92
93 MCAPI void _initNewWorldLevelData(::LevelDataWrapper& levelData);
94
95 MCAPI ::ui::ViewRequest _playWorld(
96 ::SettingsScreenMode settingsMode,
97 ::LevelSummary const& levelSummary,
98 ::LevelDataWrapper& levelData,
99 ::PackManagerContentSource* worldContentSource,
100 ::IContentManager& contentManager,
101 ::DlcUIWrapper* dlcUIWrapper
102 );
103
104 MCAPI void _removeResourcePacks();
105
106 MCAPI ::ui::ViewRequest _showLowDiskSpaceWarning();
107
108 MCAPI void confirmationHardcoreDialog(::std::function<void(::ModalScreenButtonId)> callback);
109
110 MCAPI void confirmationNoAchievementsDialog(::std::function<void(::ModalScreenButtonId)> callback);
111
112 MCAPI void setUpCallbacksForBooleanOption(::OptionID optionID, ::std::string const& toggleName);
113
114 MCAPI void setUpCallbacksForBooleanOption(
115 ::OptionID optionID,
116 ::std::string const& toggleName,
117 ::std::string const& valueBindingName,
118 ::std::string const& enabledBindingName
119 );
120
121 MCAPI void setUpCallbacksForBooleanOption(
122 ::std::string const& toggleName,
123 ::std::string const& valueBindingName,
124 ::std::string const& enabledBindingName,
125 ::std::function<bool()> isEnabled,
126 ::std::function<bool()> getValue,
127 ::std::function<void(bool)> setValue
128 );
129
130 MCAPI void setupCallbacksForStringOption(
131 ::OptionID optionID,
132 ::std::string const& textboxName,
133 ::std::function<bool(::std::string const&)> changedValidator,
134 ::std::function<bool(::std::string const&)> finishedValidator
135 );
136
137 MCAPI void setupCallbacksForStringOption(
138 ::OptionID optionID,
139 ::std::string const& textboxName,
140 ::std::string const& valueBindingName,
141 ::std::string const& enabledBindingName,
142 ::std::function<bool(::std::string const&)> changedValidator,
143 ::std::function<bool(::std::string const&)> finishedValidator
144 );
145
146 MCAPI void setupCallbacksForStringOption(
147 ::std::string const& textboxName,
148 ::std::string const& valueBindingName,
149 ::std::string const& enabledBindingName,
150 ::std::function<bool()> isEnabled,
151 ::std::function<::std::string()> getValue,
152 ::std::function<void(::std::string const&)> setValue,
153 ::std::function<bool(::std::string const&)> changedValidator,
154 ::std::function<bool(::std::string const&)> finishedValidator,
155 ::std::function<void()> onFinished
156 );
157 // NOLINTEND
158
159public:
160 // constructor thunks
161 // NOLINTBEGIN
162 MCAPI void* $ctor(::std::shared_ptr<::MainMenuScreenModel> model);
163 // NOLINTEND
164
165public:
166 // destructor thunk
167 // NOLINTBEGIN
168 MCAPI void $dtor();
169 // NOLINTEND
170
171public:
172 // virtual function thunks
173 // NOLINTBEGIN
174 MCFOLD void $addStaticScreenVars(::Json::Value& globalVars);
175
176 MCAPI void $_displayLockedWorldPopup();
177 // NOLINTEND
178
179public:
180 // vftables
181 // NOLINTBEGIN
183
184 MCNAPI static void** $vftableForScreenController();
185 // NOLINTEND
186};
Definition DlcUIWrapper.h:5
Definition Experiments.h:14
Definition IContentManager.h:5
Definition Value.h:16
Definition LevelDataWrapper.h:14
Definition LevelSeed64.h:5
Definition MainMenuScreenController.h:5
Definition MainMenuScreenModel.h:5
Definition SettingsScreenControllerBase.h:5
static MCAPI void ** $vftableForScreenController()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
Definition LevelSummary.h:30
Definition LocalWorldInfo.h:5
Definition PackManagerContentSource.h:5
Definition World.h:7
Definition SpawnSettings.h:9