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;
21struct LevelSummary;
22struct LocalWorldInfo;
24struct SpawnSettings;
25namespace Json { class Value; }
26namespace Realms { struct World; }
27// clang-format on
28
30public:
31 // SettingsScreenControllerBase inner types define
32 using BooleanOptionGetter = ::std::function<bool()>;
33
34 using BooleanOptionSetter = ::std::function<void(bool)>;
35
36 using StringOptionSetter = ::std::function<void(::std::string const&)>;
37
38 using StringValidator = ::std::function<bool(::std::string const&)>;
39
40 using StringFinished = ::std::function<void()>;
41
42 using IntegerOptionGetter = ::std::function<int()>;
43
44 using IntegerOptionSetter = ::std::function<void(int)>;
45
46public:
47 // virtual functions
48 // NOLINTBEGIN
49 virtual ~SettingsScreenControllerBase() /*override*/;
50
51 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
52
53 virtual void _displayLockedWorldPopup();
54 // NOLINTEND
55
56public:
57 // member functions
58 // NOLINTBEGIN
59 MCAPI void _addResourcePacks(::LocalWorldInfo const& worldInfo);
60
61 MCAPI bool _copyResourcePacks(
62 ::PackManagerContentSource* worldContentSource,
63 ::IContentManager& contentManager,
64 ::LevelSummary levelSummary,
65 ::std::function<void()> progressCallback
66 );
67
68 MCAPI ::ui::ViewRequest _createWorld(
69 ::Experiments* experiments,
70 ::SettingsScreenMode settingsMode,
71 ::LevelSeed64 levelSeed,
72 ::LevelSummary levelSummary,
73 ::LevelDataWrapper& levelData,
74 ::SpawnSettings spawnSettings,
75 ::NetherWorldType netherType,
76 ::PackManagerContentSource* worldContentSource,
77 ::IContentManager& contentManager,
78 ::PostCreateWorldAction postCreateWorldAction,
79 ::DlcUIWrapper* dlcUIWrapper,
80 ::Realms::World& realmWorld,
81 ::std::function<void(::std::function<void()>)> postUploadWorldToRealm
82 );
83
84 MCAPI void _initLevelData(::LevelDataWrapper& levelData, bool platformMultiplayerRestrictions);
85
86 MCAPI void _initNewWorldLevelData(::LevelDataWrapper& levelData);
87
88 MCAPI ::ui::ViewRequest _playWorld(
89 ::SettingsScreenMode settingsMode,
90 ::LevelSummary const& levelSummary,
91 ::LevelDataWrapper& levelData,
92 ::PackManagerContentSource* worldContentSource,
93 ::IContentManager& contentManager,
94 ::DlcUIWrapper* dlcUIWrapper
95 );
96
97 MCAPI void _removeResourcePacks();
98
99 MCAPI void confirmationHardcoreDialog(::std::function<void(::ModalScreenButtonId)> callback);
100
101 MCAPI void confirmationNoAchievementsDialog(::std::function<void(::ModalScreenButtonId)> callback);
102
103 MCAPI void setUpCallbacksForBooleanOption(::OptionID optionID, ::std::string const& toggleName);
104
105 MCAPI void setUpCallbacksForBooleanOption(
106 ::OptionID optionID,
107 ::std::string const& toggleName,
108 ::std::string const& valueBindingName,
109 ::std::string const& enabledBindingName
110 );
111
112 MCAPI void setUpCallbacksForBooleanOption(
113 ::std::string const& toggleName,
114 ::std::string const& valueBindingName,
115 ::std::string const& enabledBindingName,
116 ::std::function<bool()> isEnabled,
117 ::std::function<bool()> getValue,
118 ::std::function<void(bool)> setValue
119 );
120
121 MCAPI void setupCallbacksForStringOption(
122 ::OptionID optionID,
123 ::std::string const& textboxName,
124 ::std::function<bool(::std::string const&)> changedValidator,
125 ::std::function<bool(::std::string const&)> finishedValidator
126 );
127
128 MCAPI void setupCallbacksForStringOption(
129 ::OptionID optionID,
130 ::std::string const& textboxName,
131 ::std::string const& valueBindingName,
132 ::std::string const& enabledBindingName,
133 ::std::function<bool(::std::string const&)> changedValidator,
134 ::std::function<bool(::std::string const&)> finishedValidator
135 );
136
137 MCAPI void setupCallbacksForStringOption(
138 ::std::string const& textboxName,
139 ::std::string const& valueBindingName,
140 ::std::string const& enabledBindingName,
141 ::std::function<bool()> isEnabled,
142 ::std::function<::std::string()> getValue,
143 ::std::function<void(::std::string const&)> setValue,
144 ::std::function<bool(::std::string const&)> changedValidator,
145 ::std::function<bool(::std::string const&)> finishedValidator,
146 ::std::function<void()> onFinished
147 );
148 // NOLINTEND
149
150public:
151 // destructor thunk
152 // NOLINTBEGIN
153 MCFOLD void $dtor();
154 // NOLINTEND
155
156public:
157 // virtual function thunks
158 // NOLINTBEGIN
159 MCFOLD void $addStaticScreenVars(::Json::Value& globalVars);
160
161 MCAPI void $_displayLockedWorldPopup();
162 // NOLINTEND
163
164public:
165 // vftables
166 // NOLINTBEGIN
168
169 MCNAPI static void** $vftableForScreenController();
170 // NOLINTEND
171};
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 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:14