3#include "mc/_HeaderOutputPredefine.h"
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"
26namespace Json {
class Value; }
27namespace Realms {
struct World; }
33 using BooleanOptionGetter = ::std::function<bool()>;
35 using BooleanOptionSetter = ::std::function<void(
bool)>;
37 using StringOptionSetter = ::std::function<void(::std::string
const&)>;
39 using StringValidator = ::std::function<bool(::std::string
const&)>;
41 using StringFinished = ::std::function<void()>;
43 using IntegerOptionGetter = ::std::function<int()>;
45 using IntegerOptionSetter = ::std::function<void(
int)>;
49 SettingsScreenControllerBase();
54 virtual ~SettingsScreenControllerBase() ;
56 virtual void addStaticScreenVars(::Json::Value& globalVars) ;
58 virtual void _displayLockedWorldPopup();
64 MCAPI
explicit SettingsScreenControllerBase(::std::shared_ptr<::MainMenuScreenModel> model);
66 MCAPI
void _addResourcePacks(::LocalWorldInfo
const& worldInfo);
68 MCAPI
bool _copyResourcePacks(
69 ::PackManagerContentSource* worldContentSource,
70 ::IContentManager& contentManager,
71 ::LevelSummary levelSummary,
72 ::std::function<
void()> progressCallback
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
91 MCAPI
void _initLevelData(::LevelDataWrapper& levelData,
bool platformMultiplayerRestrictions);
93 MCAPI
void _initNewWorldLevelData(::LevelDataWrapper& levelData);
95 MCAPI ::ui::ViewRequest _playWorld(
96 ::SettingsScreenMode settingsMode,
97 ::LevelSummary
const& levelSummary,
98 ::LevelDataWrapper& levelData,
99 ::PackManagerContentSource* worldContentSource,
100 ::IContentManager& contentManager,
101 ::DlcUIWrapper* dlcUIWrapper
104 MCAPI
void _removeResourcePacks();
106 MCAPI ::ui::ViewRequest _showLowDiskSpaceWarning();
108 MCAPI
void confirmationHardcoreDialog(::std::function<
void(::ModalScreenButtonId)> callback);
110 MCAPI
void confirmationNoAchievementsDialog(::std::function<
void(::ModalScreenButtonId)> callback);
112 MCAPI
void setUpCallbacksForBooleanOption(::OptionID optionID, ::std::string
const& toggleName);
114 MCAPI
void setUpCallbacksForBooleanOption(
116 ::std::string
const& toggleName,
117 ::std::string
const& valueBindingName,
118 ::std::string
const& enabledBindingName
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
130 MCAPI
void setupCallbacksForStringOption(
132 ::std::string
const& textboxName,
133 ::std::function<
bool(::std::string
const&)> changedValidator,
134 ::std::function<
bool(::std::string
const&)> finishedValidator
137 MCAPI
void setupCallbacksForStringOption(
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
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
162 MCAPI
void* $ctor(::std::shared_ptr<::MainMenuScreenModel> model);
174 MCFOLD
void $addStaticScreenVars(::Json::Value& globalVars);
176 MCAPI
void $_displayLockedWorldPopup();
Definition DlcUIWrapper.h:5
Definition Experiments.h:14
Definition IContentManager.h:5
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 SpawnSettings.h:9