LeviLamina
Loading...
Searching...
No Matches
IBuilderContext.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/game/MinecraftGameFeatures.h"
7#include "mc/client/gui/SettingsModalType.h"
8#include "mc/client/gui/SettingsTabIndex.h"
9#include "mc/client/storagemanager/ContentType.h"
10#include "mc/deps/core/file/PathBuffer.h"
11#include "mc/deps/core/string/BasicStackString.h"
12#include "mc/deps/core/utility/NonOwnerPointer.h"
13#include "mc/deps/input/InputBindingMode.h"
14#include "mc/deps/input/InputMode.h"
15#include "mc/deps/input/enums/ButtonState.h"
16#include "mc/deps/input/enums/RawInputType.h"
17#include "mc/options/FeatureOptionID.h"
18#include "mc/options/GraphicsMode.h"
19
20// auto generated forward declare list
21// clang-format off
25class IOptionRegistry;
28class LocalPlayer;
30class PacketSender;
32class SoundOptions;
33class StoreCatalogRepository;
34class TrialManager;
37namespace Bedrock::PubSub { class Subscription; }
38namespace Core { class FilePathManager; }
39namespace SDL { class SessionBinaries; }
40namespace Settings { class Eventing; }
41namespace Social { class IGameConnectionInfoProvider; }
42namespace Social { class User; }
43// clang-format on
44
45namespace Settings::RegistryBuilder {
46
47class IBuilderContext {
48public:
49 // IBuilderContext inner types define
50 using OnReload = ::std::function<void(::ContentItemCollection&)>;
51
52public:
53 // virtual functions
54 // NOLINTBEGIN
55 virtual ~IBuilderContext() = default;
56
57 virtual bool isPreGame() const = 0;
58
59 virtual bool isSplitScreenActive() const = 0;
60
61 virtual bool isPrimaryClient() const = 0;
62
63 virtual bool isPlayerInEditor() const = 0;
64
65 virtual bool isEditorModeOrInEditorWorld() const = 0;
66
67 virtual ::IOptionRegistry& getOptions() = 0;
68
69 virtual ::IOptionRegistry const& getOptions() const = 0;
70
71 virtual int getClampedGuiScaleOffset() const = 0;
72
73 virtual ::SoundOptions& getSoundOptions() = 0;
74
75 virtual ::Social::IGameConnectionInfoProvider const& getGameConnectionInfoProvider() const = 0;
76
77 virtual ::Settings::Eventing& getSettingsEventing() = 0;
78
79 virtual ::TrialManager& getTrialManager() = 0;
80
81 virtual ::MinecraftCommands& getCommands() = 0;
82
83 virtual ::InputSettingsHandler& getInputSettingsHandler() const = 0;
84
85 virtual ::WorldSettingsRules const& getWorldSettingsRules() const = 0;
86
87 virtual ::std::optional<::std::string> getFeedbackUrl() const = 0;
88
89 virtual bool supportsFullScreen() const = 0;
90
91 virtual bool supportsUserDefinedSafeZone() const = 0;
92
93 virtual int getRecommendedRenderDistance(::GraphicsMode graphicsMode) const = 0;
94
95 virtual int getMaxGUIScaleIndex() const = 0;
96
97 virtual int getOptimalGUIScaleIndex() const = 0;
98
99 virtual ::InputMode getCurrentInputMode() const = 0;
100
101 virtual ::Bedrock::PubSub::Subscription registerToUIScreenSizeChangedEvent(::std::function<void()> callback) = 0;
102
103 virtual ::Bedrock::PubSub::Subscription
104 registerLevelChangedListener(::std::function<void(::LevelDataWrapper&)> callback) = 0;
105
106 virtual ::Bedrock::PubSub::Subscription
107 registerToServerFormDataAvailableEvent(::std::function<void()> callback) = 0;
108
109 virtual bool isServerFormDataAvailable() const = 0;
110
111 virtual void pushRoute(::std::string_view route) = 0;
112
113 virtual void pushSettingsTabWithModal(::SettingsTabIndex tab, ::SettingsModalType modal) = 0;
114
115 virtual void pushToast(::std::string_view notification) = 0;
116
117 virtual bool supportsSetClipboard() = 0;
118
119 virtual void navigateToJsonSettingsTab(::SettingsTabIndex tab) = 0;
120
121 virtual void navigateToHowToPlayScreen() = 0;
122
123 virtual void setClipboardData(::std::string_view text) = 0;
124
125 virtual void launchURI(::std::string const& uri) = 0;
126
127 virtual void navigateToPendingRealmInvites() = 0;
128
129 virtual void setInputBindingMode(::InputBindingMode mode) = 0;
130
131 virtual ::InputBindingMode getInputBindingMode() const = 0;
132
133 virtual ::Bedrock::PubSub::Subscription
134 registerToRawInputEvent(::std::function<void(int, ::RawInputType, ::ButtonState, bool)> callback) = 0;
135
136 virtual ::Bedrock::PubSub::Subscription registerToInputModeEvent(::std::function<void(::InputMode)> callback) = 0;
137
138 virtual void navigateToCustomizeTouchControl() = 0;
139
140 virtual void refreshClientInputConfig() = 0;
141
142 virtual bool isGamePlayTipsEnabled() const = 0;
143
144 virtual bool isSignedInToXBL() const = 0;
145
146 virtual bool isEligibleForPauseFeature() const = 0;
147
148 virtual bool supportsTTSLanguage(::std::string_view languageCode) const = 0;
149
150 virtual bool isTTSEnabled() const = 0;
151
152 virtual bool isMultiplayerClient() const = 0;
153
154 virtual bool hasLocalPlayer() const = 0;
155
156 virtual bool hasCommands() const = 0;
157
158 virtual ::LevelDataWrapper& getLevelDataWrapper() = 0;
159
160 virtual ::PacketSender& getPacketSender() = 0;
161
162 virtual bool supportsKeyboardAndMouse() const = 0;
163
164 virtual bool supportsGamepad() const = 0;
165
166 virtual bool supportsTouch() const = 0;
167
168 virtual bool isInRealms() const = 0;
169
170 virtual bool isRealmsEnabled() const = 0;
171
172 virtual bool isRealmsOwner() const = 0;
173
174 virtual bool isRealmsFeatureEnabled(::std::string_view featureName) const = 0;
175
176 virtual bool isConfigurableRealmsEnvironment() const = 0;
177
178 virtual bool isPartySystemAvailable() const = 0;
179
180 virtual bool isTrial() const = 0;
181
182 virtual ::SettingsScreenCapabilities const& getSettingsScreenCapabilities() const = 0;
183
184 virtual bool isEduEdition() const = 0;
185
186 virtual ::Bedrock::NotNullNonOwnerPtr<::IAdvancedGraphicsOptions> getAdvancedGraphicsOptions() = 0;
187
188 virtual void navigateToGammaCalibrationScreen() = 0;
189
190 virtual bool supportsAntiAliasing() const = 0;
191
192 virtual bool supportsTextureStreaming() const = 0;
193
194 virtual bool supportsTexelAntiAliasing() const = 0;
195
196 virtual bool supportsAdvancedGraphics() const = 0;
197
198 virtual bool supportsDeferredGraphics() const = 0;
199
200 virtual bool supportsDeferredPointLights() const = 0;
201
202 virtual bool supportsImprovedInputResponse() const = 0;
203
204 virtual bool supportsSplitScreen() const = 0;
205
206 virtual bool isFeatureEnabled(::FeatureOptionID featureOptionId) const = 0;
207
208 virtual bool isGameFeatureEnabled(::MinecraftGameFeatures feature) const = 0;
209
210 virtual ::GameEditionProperties const& getGameEditionProperties() const = 0;
211
212 virtual ::std::optional<::std::reference_wrapper<::LocalPlayer>> const getLocalPlayer() const = 0;
213
214 virtual ::ProfanityContext const& getProfanityContext() const = 0;
215
216 virtual ::std::optional<::std::string> getMinecraftAccountId() const = 0;
217
218 virtual void showUserSettings() = 0;
219
220 virtual ::std::string getDeviceId() const = 0;
221
222 virtual bool shouldShowSignOutOfMicrosoftAccount() const = 0;
223
224 virtual void signOutFromMicrosoftAccount() = 0;
225
226 virtual void clearSignInData() = 0;
227
228 virtual void navigateToDeleteMicrosoftAccount() = 0;
229
230 virtual bool shouldShowRequestPlaystationNetworkAuthorization() const = 0;
231
232 virtual ::Bedrock::PubSub::Subscription
233 subscribeToShouldShowRequestPlaystationNetworkAuthorization(::std::function<void()> callback) = 0;
234
235 virtual void requestPlaystationNetworkAuthorization() = 0;
236
237 virtual bool isConsolePlatform() const = 0;
238
239 virtual bool isDesktopPlatform() const = 0;
240
241 virtual ::std::shared_ptr<::Social::User> const& getUser() const = 0;
242
243 virtual void navigateToTabbedUpsell() = 0;
244
245 virtual bool needPlatformConnectionBeforeXBLSignIn() const = 0;
246
247 virtual bool isWaitingForPlatformConnection() const = 0;
248
249 virtual void navigateToPlatformNetworkConnectConfirmation(::std::function<void(bool)> callback) = 0;
250
251 virtual void navigateToXBLSignIn() = 0;
252
253 virtual void navigateToContentLogHistoryScreen() = 0;
254
255 virtual bool isSupportingFramePacing() const = 0;
256
257 virtual void cancelAllDownloads() const = 0;
258
259 virtual ::StoreCatalogRepository& getStoreCatalogRepository() const = 0;
260
261 virtual ::std::shared_ptr<::SDL::SessionBinaries> getServiceSessionBinaries() const = 0;
262
263 virtual ::Core::FilePathManager& getFilePathManager() const = 0;
264
265 virtual void navigateToDeleteAreaProgressScreen(
266 ::std::string_view screenName,
267 ::std::chrono::seconds const secondsBeforeUserCanCancel,
268 ::std::chrono::seconds const secondsBeforeClientShouldCancel,
269 ::std::vector<::std::tuple<::Core::PathBuffer<::Core::BasicStackString<char, 1024>>, ::std::string>> paths,
270 ::std::function<void()> completeCallback
271 ) const = 0;
272
273 virtual ::Bedrock::PubSub::Subscription registerToContentItemCollectionReload(
274 ::StorageManager::ContentType type,
275 ::std::function<void(::ContentItemCollection&)> callback
276 ) = 0;
277
278 virtual ::std::optional<::std::reference_wrapper<::ContentItemCollection>> const
279 getVisibleContentItemCollection(::StorageManager::ContentType type) const = 0;
280
281 virtual void navigateToDeleteContentLogScreen() = 0;
282
283 virtual void navigateToDeleteScriptDiagnosticScreen() = 0;
284
285 virtual ::std::string getCurrentContentLogFileName() = 0;
286 // NOLINTEND
287
288public:
289 // virtual function thunks
290 // NOLINTBEGIN
291
292 // NOLINTEND
293};
294
295} // namespace Settings::RegistryBuilder
Definition Subscription.h:10
Definition ContentItemCollection.h:5
Definition FilePathManager.h:18
Definition GameEditionProperties.h:5
Definition IAdvancedGraphicsOptions.h:16
Definition IOptionRegistry.h:5
Definition InputSettingsHandler.h:5
Definition LevelDataWrapper.h:14
Definition LocalPlayer.h:5
Definition MinecraftCommands.h:36
Definition PacketSender.h:17
Definition ProfanityContext.h:5
Definition SessionBinaries.h:7
Definition Eventing.h:7
Definition IBuilderContext.h:7
Definition IGameConnectionInfoProvider.h:12
Definition User.h:7
Definition SoundOptions.h:5
Definition TrialManager.h:5
Definition WorldSettingsRules.h:5
Definition SettingsScreenCapabilities.h:8