LeviLamina
Loading...
Searching...
No Matches
SceneFactory.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/certificates/identity/LastClickedSource.h"
7#include "mc/client/events/OnlineSafetyDialogVisibility.h"
8#include "mc/client/gui/CraftingType.h"
9#include "mc/client/gui/EncyclopediaTopicIndex.h"
10#include "mc/client/gui/HowToPlayTopicIndex.h"
11#include "mc/client/gui/ProgressContentType.h"
12#include "mc/client/gui/SettingsTabIndex.h"
13#include "mc/client/gui/oreui/interface/RouteMode.h"
14#include "mc/client/gui/screens/SelectWorldResult.h"
15#include "mc/client/gui/screens/controllers/CreditsType.h"
16#include "mc/client/gui/screens/controllers/InventoryTabIndex.h"
17#include "mc/client/gui/screens/controllers/LibraryModalScreenType.h"
18#include "mc/client/gui/screens/controllers/MarketplacePassTabIndex.h"
19#include "mc/client/gui/screens/controllers/SlotSelectedAction.h"
20#include "mc/client/gui/screens/controllers/TabbedUpsellScreenDefaultTab.h"
21#include "mc/client/gui/screens/controllers/UpdateVersionScreenContext.h"
22#include "mc/client/gui/screens/interfaces/ISceneFactory.h"
23#include "mc/client/gui/screens/models/PlayScreenDefaultTab.h"
24#include "mc/client/store/sidebar/Type.h"
25#include "mc/client/tts/TTSEnabledStatus.h"
26#include "mc/deps/core/file/FileUploadType.h"
27#include "mc/deps/core/string/HashedString.h"
28#include "mc/deps/core/threading/Async.h"
29#include "mc/deps/core/threading/AsyncPromise.h"
30#include "mc/deps/core/utility/NonOwnerPointer.h"
31#include "mc/deps/core/utility/optional_ref.h"
32#include "mc/deps/core/utility/pub_sub/Subscription.h"
33#include "mc/deps/input/interface/GameControllerErrorType.h"
34#include "mc/events/OpenCodeMethod.h"
35#include "mc/options/FeedbackType.h"
36#include "mc/util/UploadState.h"
37#include "mc/world/level/GameType.h"
38#include "mc/world/level/block/actor/BlockActorType.h"
39#include "mc/world/level/storage/StorageVersion.h"
40
41// auto generated forward declare list
42// clang-format off
43class AbstractScene;
44class BaseScreen;
45class BlockActor;
46class BlockPos;
47class CachedScenes;
48class DlcId;
50class IClientInstance;
52class IContentManager;
53class IMinecraftGame;
54class ISceneStack;
55class IStoreCatalogItem;
57class LayoutManager;
59class LibraryItem;
61class OfferCollectionComponent;
64class Player;
65class ProgressHandler;
70class TaskGroup;
71class UIControl;
73class UIScene;
74class UISoundPlayer;
75class VisualTree;
77struct ActorUniqueID;
78struct ContentItem;
79struct DimensionType;
81struct INpcDialogueData;
82struct LevelSummary;
83struct ModalScreenData;
84struct PackContentItem;
85struct PackSettingsInfo;
89namespace Bedrock::StorageMigration { class StorageMigrationService; }
90namespace Core { class Path; }
91namespace Json { class Value; }
92namespace OreUI { class SceneProvider; }
93namespace Realms { struct InviteLink; }
94namespace Realms { struct World; }
95// clang-format on
96
97class SceneFactory : public ::ISceneFactory {
98public:
99 // SceneFactory inner types declare
100 // clang-format off
101 struct PreCachePackage;
102 // clang-format on
103
104 // SceneFactory inner types define
105 struct PreCachePackage {
106 public:
107 // member variables
108 // NOLINTBEGIN
109 ::ll::TypedStorage<8, 32, ::std::string> screenName;
110 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::UIControlFactory>> controlFactory;
111 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::VisualTree>> visualTree;
112 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::LayoutManager>> layoutManager;
113 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::UIControl>> rootControl;
114 ::ll::TypedStorage<8, 16, ::Bedrock::Threading::Async<void>> taskHandle;
115 // NOLINTEND
116 };
117
118 using InGameScreenCreator = ::std::function<::std::shared_ptr<::UIScene>(
119 ::SceneFactory&,
120 ::IMinecraftGame&,
121 ::IClientInstance&,
122 ::Bedrock::NotNullNonOwnerPtr<::IAdvancedGraphicsOptions> const&,
123 ::std::string const&,
124 ::Player&,
125 ::BlockPos const&,
126 ::ActorUniqueID
127 )>;
128
129public:
130 // member variables
131 // NOLINTBEGIN
132 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance>> mClient;
133 ::ll::TypedStorage<8, 8, ::IMinecraftGame&> mMinecraft;
134 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IAdvancedGraphicsOptions>> mAdvancedGraphicsOptions;
135 ::ll::TypedStorage<1, 1, bool> mIsEditorModeEnabled;
136 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mTaskGroup;
137 ::ll::TypedStorage<1, 1, bool> mUseClientInstanceStack;
138 ::ll::TypedStorage<8, 8, ::OreUI::SceneProvider&> mSceneProvider;
139 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::UISoundPlayer>> mSoundPlayer;
140 ::ll::TypedStorage<8, 8, ::CachedScenes&> mCachedScenes;
141 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::SceneFactory::PreCachePackage>>> mPreCachePackages;
142 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SceneFactoryProxy>> mProxy;
143 ::ll::TypedStorage<
144 8,
145 64,
146 ::std::unordered_map<
147 ::HashedString,
148 ::std::pair<
149 ::std::string,
150 ::std::function<::std::shared_ptr<::UIScene>(
151 ::SceneFactory&,
152 ::IMinecraftGame&,
153 ::IClientInstance&,
154 ::Bedrock::NotNullNonOwnerPtr<::IAdvancedGraphicsOptions> const&,
155 ::std::string const&,
156 ::Player&,
157 ::BlockPos const&,
158 ::ActorUniqueID
159 )>>>>
160 mRegisteredInGameScreens;
161 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mSceneStackDestroyedSubscription;
162 // NOLINTEND
163
164public:
165 // prevent constructor by default
166 SceneFactory& operator=(SceneFactory const&);
167 SceneFactory(SceneFactory const&);
168 SceneFactory();
169
170public:
171 // virtual functions
172 // NOLINTBEGIN
173 virtual ~SceneFactory() /*override*/;
174
175 virtual ::std::shared_ptr<::AbstractScene> createDevConsole();
176
177 virtual ::std::shared_ptr<::AbstractScene>
178 createTabbedUpsellScreen(::TabbedUpsellScreenDefaultTab tab) /*override*/;
179
180 virtual ::std::shared_ptr<::AbstractScene> createStoreDataDrivenScreen(
181 ::StoreDataDrivenScreenParams const& params,
182 bool const forceDisableProgressScreen,
183 ::std::function<void()> initializedCallback
184 ) /*override*/;
185
186 virtual ::std::shared_ptr<::AbstractScene> createStartMenuScreen(bool shouldSendEvent) /*override*/;
187
188 virtual ::Json::Value
189 createGlobalVars(::Bedrock::NotNullNonOwnerPtr<::IUIDefRepository const> defRepository) const = 0;
190 // NOLINTEND
191
192public:
193 // member functions
194 // NOLINTBEGIN
195 MCAPI SceneFactory(
196 ::IMinecraftGame& minecraft,
197 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const& client,
198 ::Bedrock::NotNullNonOwnerPtr<::IAdvancedGraphicsOptions> const& advancedGraphicsOptions,
199 ::OreUI::SceneProvider& sceneProvider
200 );
201
202 MCAPI ::Json::Value _calculateSafeZoneSize(
203 float safeZoneScaleFactor,
204 float screenPositionOffset,
205 bool horizontal,
206 bool isToporLeft
207 ) const;
208
209 MCAPI ::std::shared_ptr<::AbstractScene> _createPlayScreenImpl(
210 ::PlayScreenDefaultTab tab,
211 ::std::string const& dirtyLevelId,
212 ::std::function<void()> initializedCallback
213 );
214
215 MCAPI ::Json::Value _createSafeZoneSizeVar(
216 float safeZoneScaleFactor,
217 float screenPositionOffset,
218 bool horizontal,
219 bool isToporLeft
220 ) const;
221
222 MCAPI ::std::shared_ptr<::AbstractScene> _createScreen(::std::shared_ptr<::BaseScreen> newScreen);
223
224 MCAPI void _preCacheScreen(::Json::Value const& globalVars, ::std::string const& screenName);
225
226 MCAPI ::std::shared_ptr<::AbstractScene> createAcceptDeclineInvitationScreen(
227 ::std::string const& title,
228 ::std::string const& subtitle,
229 ::std::function<void(bool, bool)> callback
230 );
231
232 MCAPI ::std::shared_ptr<::AbstractScene>
233 createActiveDirectoryAuthenticationScreen(bool displaySignIn, ::LastClickedSource lastClickedSource);
234
235 MCAPI ::std::shared_ptr<::AbstractScene> createActiveDirectoryModal(::ActiveDirectoryModalArgs const& args);
236
237 MCAPI ::std::shared_ptr<::AbstractScene> createAddEditExternalServerScreen(int id);
238
239 MCAPI ::std::shared_ptr<::AbstractScene> createAdhocInProgressScreen(bool enableAdhoc);
240
241 MCAPI ::std::shared_ptr<::AbstractScene> createAdhocScreen();
242
243 MCAPI ::std::shared_ptr<::AbstractScene>
244 createApplyResourcePacksScreen(::std::function<void(::MinecraftScreenModel&)> applyPacks);
245
246 MCAPI ::std::shared_ptr<::AbstractScene> createAutoSaveInfoScreen();
247
248 MCAPI ::std::shared_ptr<::AbstractScene> createBetaFeedbackQrScreen(::std::string const& feedbackUrl);
249
250 MCAPI ::std::shared_ptr<::AbstractScene>
251 createBookScreen(int bookSlot, bool editable, int page, ::BlockActor* lectern);
252
253 MCAPI ::std::shared_ptr<::AbstractScene> createBundlePurchaseWarningScreen(
254 ::IStoreCatalogItem const& catalogItem,
255 ::OfferCollectionComponent const& bundleCollection,
256 ::std::function<void()> onPurchaseCallback
257 );
258
259 MCAPI ::std::shared_ptr<::AbstractScene> createCannotUseNetworkFeaturesScreen();
260
261 MCAPI ::std::shared_ptr<::AbstractScene> createCellularDataWarningScreen(::std::function<void(bool)> callback);
262
263 MCAPI ::std::shared_ptr<::AbstractScene> createChalkboardScreen(::BlockPos const& pos, bool lockVisible);
264
265 MCAPI ::std::shared_ptr<::AbstractScene> createChatScreen();
266
267 MCAPI ::std::shared_ptr<::AbstractScene> createChooseRealmScreen(
268 ::std::function<void(::Realms::World)> callback,
269 ::SlotSelectedAction action,
270 ::std::function<void()> onCancelCallback
271 );
272
273 MCAPI ::std::shared_ptr<::AbstractScene> createCodeScreen(::OpenCodeMethod openMethod);
274
275 MCAPI ::std::shared_ptr<::AbstractScene>
276 createCommonDialogInfoScreen(::std::string const& dialogTitle, ::std::string const& dialogBody);
277
278 MCAPI ::std::shared_ptr<::AbstractScene>
279 createConnectGamepadScreen(::GameControllerErrorType controllerError, ::std::function<void()> onCompleteCallback);
280
281 MCAPI ::std::shared_ptr<::AbstractScene> createConsoleScreen();
282
283 MCAPI ::std::shared_ptr<::AbstractScene> createContentLogHistoryScreen();
284
285 MCAPI ::std::shared_ptr<::AbstractScene>
286 createCreditsScreen(::CreditsType contentType, ::std::function<void()> callback);
287
288 MCAPI ::std::shared_ptr<::AbstractScene> createCubeMapScreen(bool flushable);
289
290 MCAPI ::std::shared_ptr<::AbstractScene>
291 createCustomTemplatesScreen(::std::vector<::WorldTemplateInfo> const& customTemplates);
292
293 MCAPI ::std::shared_ptr<::AbstractScene> createDayOneExperienceIntroPopup();
294
295 MCAPI ::std::shared_ptr<::AbstractScene> createDayOneExperienceScreen();
296
297 MCAPI ::std::shared_ptr<::AbstractScene> createDeathScreen();
298
299 MCAPI ::std::shared_ptr<::AbstractScene> createDebugScreen();
300
301 MCAPI ::std::shared_ptr<::AbstractScene> createDeeplinkConfirmationScreen(::std::function<void(bool)> callback);
302
303 MCAPI ::std::shared_ptr<::AbstractScene> createDeleteAccountScreen();
304
305 MCAPI ::std::shared_ptr<::AbstractScene> createDeleteProgressScreen(
306 ::std::string const& uniqueEventName,
307 ::IContentManager& contentManager,
308 ::std::vector<::std::shared_ptr<::ContentItem const>>&& itemsToDelete
309 );
310
311 MCAPI ::std::shared_ptr<::AbstractScene>
312 createDimensionChangeProgressScreen(bool localServer, ::DimensionType targetDimensionID);
313
314 MCAPI ::std::shared_ptr<::AbstractScene>
315 createDisabledSkinScreen(bool twoButtonWithCallback, ::std::function<void()> callback);
316
317 MCAPI ::std::shared_ptr<::AbstractScene> createDisconnectScreen(
318 ::std::string const& titleMessage,
319 ::std::string const& displayMessage,
320 ::std::string const& screenNameOverride,
321 ::std::string const& telemetryOverride
322 );
323
324 MCAPI ::std::shared_ptr<::AbstractScene> createDlcProgressScreen(
325 ::std::vector<::DlcId> const& dlcIds,
326 ::std::function<void(bool, bool)> callback,
327 bool showCloseButton,
328 bool processingUpdates,
329 bool requireCancelToExit
330 );
331
332 MCAPI ::std::shared_ptr<::AbstractScene> createEDULibraryCategoryScreen(
333 ::std::string const& title,
334 ::std::string const& icon,
335 ::std::string const& description,
336 ::std::string const& screenshotRatio,
337 int columnCount,
338 ::std::vector<::EDULibraryCategory> const& categories,
339 bool firstPage
340 );
341
342 MCAPI ::std::shared_ptr<::AbstractScene> createEDUPlayScreen(::std::string initialCode);
343
344 MCAPI ::std::shared_ptr<::AbstractScene> createEDUServersScreen();
345
346 MCAPI ::std::shared_ptr<::AbstractScene> createEDUWorldTemplatesScreen();
347
348 MCAPI ::std::shared_ptr<::AbstractScene> createEDUWorldsScreen();
349
350 MCAPI ::std::shared_ptr<::AbstractScene> createEditWorldScreen(
351 ::LevelSummary const& levelSummary,
352 ::std::string const& packId,
353 ::std::function<void()> onOpenCallback
354 );
355
356 MCAPI ::std::shared_ptr<::AbstractScene> createEmoteWheelScreen();
357
358 MCAPI ::std::shared_ptr<::AbstractScene> createEncryptionWarningScreen(::std::function<void(bool)> callback);
359
360 MCAPI ::std::shared_ptr<::AbstractScene> createEncyclopediaScreen(::EncyclopediaTopicIndex startingTopicIndex);
361
362 MCAPI ::std::shared_ptr<::AbstractScene> createExternalLinkDialogScreen(
363 ::std::string const& title,
364 ::std::string const& externalLink,
365 ::std::string const& message,
366 ::std::string const& goToPageText,
367 ::std::string const& secondButtonText,
368 ::std::function<void()> const& callback
369 );
370
371 MCAPI ::std::shared_ptr<::AbstractScene>
372 createFeedbackPromptPopup(::std::string const& title, ::std::string const& image, ::std::string const& buttonName);
373
374 MCAPI ::std::shared_ptr<::AbstractScene> createFileDownloadProgressScreen(
375 ::std::string const& realmID,
376 int slotIndex,
377 ::std::string const& realmName,
378 ::std::string const& realmVersion,
379 ::std::string const& realmVersionName,
380 ::std::function<void(bool)> callback
381 );
382
383 MCAPI ::std::shared_ptr<::AbstractScene> createFileUploadProgressScreen(
384 ::std::string const& realmID,
385 ::std::string const& fileID,
386 int slotIndex,
387 bool needArchiving,
388 ::Core::FileUploadType fileUploadType,
389 ::std::function<void(::UploadState, ::Realms::World)> callback
390 );
391
392 MCAPI ::std::shared_ptr<::AbstractScene> createGameInputErrorScreen(::std::function<void()> callback);
393
394 MCAPI ::std::shared_ptr<::AbstractScene> createGamepadDisconnectScreen();
395
396 MCAPI ::std::shared_ptr<::AbstractScene> createGameplayScreen();
397
398 MCAPI ::std::shared_ptr<::AbstractScene> createGammaCalibrationScreen();
399
400 MCAPI ::std::shared_ptr<::AbstractScene> createGlobalPauseScreen();
401
402 MCAPI ::std::shared_ptr<::AbstractScene> createHowToPlayScreen(::HowToPlayTopicIndex startingTopicIndex);
403
404 MCAPI ::std::shared_ptr<::AbstractScene> createHudScreen();
405
406 MCAPI ::std::shared_ptr<::AbstractScene> createIPSafetyDialogScreen(int externalServerId);
407
408 MCAPI ::std::shared_ptr<::AbstractScene> createImmersiveReader(::std::string readerText);
409
410 MCAPI ::std::shared_ptr<::AbstractScene> createImportExportProgressScreen(
411 ::std::string const& titleText,
412 ::std::string const& uniqueEventName,
413 ::std::string const& messageText
414 );
415
416 MCAPI ::std::shared_ptr<::AbstractScene> createInBedScreen();
417
418 MCAPI ::std::shared_ptr<::AbstractScene>
419 createInGameSceneFromUrl(::std::string const& url, ::OreUI::RouteMode mode);
420
421 MCAPI ::std::shared_ptr<::AbstractScene>
422 createInGameScreen(::std::string const& name, ::Player& player, ::BlockPos const& pos, ::ActorUniqueID uniqueId);
423
424 MCAPI ::std::shared_ptr<::AbstractScene> createInventoryScreen(::CraftingType craftingType);
425
426 MCAPI ::std::shared_ptr<::AbstractScene> createInviteScreen();
427
428 MCAPI ::std::shared_ptr<::AbstractScene>
429 createLateJoinPreGameScreen(::std::function<void()> const& userReadyCallback, bool hasXBLBroadcast);
430
431 MCAPI ::std::shared_ptr<::AbstractScene> createLeaveLevelScreen(
432 ::std::string const& uniqueEventName,
433 ::std::deque<::std::unique_ptr<::ProgressHandler>> progressHandlerList,
434 bool loadAssets
435 );
436
437 MCAPI ::std::shared_ptr<::AbstractScene>
438 createLegacyCreateWorldFromTemplateScreen(::LevelSummary const& levelSummary);
439
440 MCAPI ::std::shared_ptr<::AbstractScene> createLegacyCreateWorldScreen();
441
442 MCAPI ::std::shared_ptr<::AbstractScene> createLegacyRealmsPlusEndedScreen();
443
444 MCAPI ::std::shared_ptr<::AbstractScene> createLegacyWorldTemplateLoadingScreen(::std::string const& manifestId);
445
446 MCAPI ::std::shared_ptr<::AbstractScene> createLessonCompleteScreen();
447
448 MCAPI ::std::shared_ptr<::AbstractScene> createLibraryItemScreen(
449 ::std::shared_ptr<::LibraryItem> item,
450 ::std::unordered_map<::std::string, ::std::string> additionalOptions
451 );
452
453 MCAPI ::std::shared_ptr<::AbstractScene> createLibraryModalScreen(
454 ::LibraryModalScreenType type,
455 ::std::function<void(bool)> callback,
456 ::std::vector<::std::pair<::std::string, ::std::string>> eventProperties
457 );
458
459 MCAPI ::std::shared_ptr<::AbstractScene> createLibraryScreen(::std::shared_ptr<::LibraryCollection> collection);
460
461 MCAPI ::std::shared_ptr<::AbstractScene> createLibrarySearchScreen(
462 ::std::shared_ptr<::LibraryCollection> collection,
463 ::std::string const& libraryTitle,
464 ::std::string const& libraryIcon
465 );
466
467 MCAPI ::std::shared_ptr<::AbstractScene> createLibraryTagScreen(
468 ::std::shared_ptr<::LibraryCollection> collection,
469 ::std::string const& libraryTitle,
470 ::std::string const& libraryIcon,
471 ::std::string const& libraryPageDescription
472 );
473
474 MCAPI ::std::shared_ptr<::AbstractScene> createLibraryWorldScreen(
475 ::std::shared_ptr<::LibraryCollection> collection,
476 ::std::string libraryTitle,
477 ::std::string libraryIcon,
478 ::std::string libraryPageDescription,
479 ::std::string const& categoryTitle
480 );
481
482 MCAPI ::std::shared_ptr<::AbstractScene> createLocalWorldPickerScreen(
483 ::std::string const& realmID,
484 int slotIndex,
485 ::std::function<void(::UploadState, ::Realms::World)> callbackAfterUpload
486 );
487
488 MCAPI ::std::shared_ptr<::AbstractScene>
489 createMakeInfiniteScreen(::LevelSummary const& editedLevel, ::StorageVersion storageVersion);
490
491 MCAPI ::std::shared_ptr<::AbstractScene> createManifestValidationScreen(
492 ::PackManifestFactory& manifestFactory,
493 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> const& keyProvider,
494 ::ResourceLocation const& resourceLocation,
495 ::Core::Path const& originalFilePath,
496 bool packInUserDataPath,
497 ::std::shared_ptr<::PackContentItem const> item
498 );
499
500 MCAPI ::std::shared_ptr<::AbstractScene> createMarketplacePassPDPScreen(
501 ::MarketplacePassTabIndex tabIndex,
502 ::sidebar::navigationLayout::Type sidebarLayoutType
503 );
504
505 MCAPI ::std::shared_ptr<::AbstractScene> createMarketplacePassPurchaseAmazonDeviceWarningScreen();
506
507 MCAPI ::std::shared_ptr<::AbstractScene> createMarketplacePassPurchaseWarningScreen();
508
509 MCAPI ::std::shared_ptr<::AbstractScene> createMarketplacePassUpsellScreen();
510
511 MCAPI ::std::shared_ptr<::AbstractScene> createMarketplacePassWelcomeScreen();
512
513 MCAPI ::std::shared_ptr<::AbstractScene> createMigrationErrorScreen();
514
515 MCAPI ::std::shared_ptr<::AbstractScene> createMobEffectsScreen();
516
517 MCAPI ::std::shared_ptr<::AbstractScene> createModalProgressScreen(
518 ::std::string const& uniqueEventName,
519 ::std::unique_ptr<::ProgressHandler> progressHandler,
520 bool loadAssets,
521 bool forceRenderBelow,
522 ::std::string const& screenNameOverride,
523 bool isCancellable,
524 float backgroundFillAlpha
525 );
526
527 MCAPI ::std::shared_ptr<::AbstractScene> createModalScreen(::ModalScreenData const& modalScreenData);
528
529 MCAPI ::std::shared_ptr<::AbstractScene> createNetworkProgressScreen(
530 ::std::string const& uniqueEventName,
531 ::std::unique_ptr<::ProgressHandler> connectHandler,
532 bool allowSmallDownloads,
533 bool sendProgressTelem,
534 ::OnlineSafetyDialogVisibility onlineSafetyDialogVisibility
535 );
536
537 MCAPI ::std::shared_ptr<::AbstractScene> createNetworkProgressScreen(
538 ::std::string const& uniqueEventName,
539 ::std::deque<::std::unique_ptr<::ProgressHandler>>&& connectHandlers,
540 bool allowSmallDownloads,
541 bool sendProgressTelem,
542 ::OnlineSafetyDialogVisibility onlineSafetyDialogVisibility
543 );
544
545 MCAPI ::std::shared_ptr<::AbstractScene> createNoInvitesOrJoiningScreen();
546
547 MCAPI ::std::shared_ptr<::AbstractScene> createNoLicenseScreen();
548
549 MCAPI ::std::shared_ptr<::AbstractScene> createNoWifiWarningScreen();
550
551 MCAPI ::std::shared_ptr<::AbstractScene> createNotSignedIntoNintendoScreen(::std::string const& messageOverride);
552
553 MCAPI ::std::shared_ptr<::AbstractScene>
554 createNpcInteractScreen(::Player& player, ::std::shared_ptr<::INpcDialogueData> data);
555
556 MCAPI ::std::shared_ptr<::AbstractScene> createOSWriteThrottleDialogScreen(
557 ::std::chrono::duration<double, ::std::ratio<1, 1>> totalWait,
558 ::std::shared_ptr<bool> dialogStillAlive
559 );
560
561 MCAPI ::std::shared_ptr<::AbstractScene> createOnlineSafetyDialogScreen(::OnlineSafetyProgressHandler& handler);
562
563 MCAPI ::std::shared_ptr<::AbstractScene> createOptionsScreen(
564 ::LevelSummary const& levelSummary,
565 ::SettingsTabIndex startingTabIndex,
566 bool navToMenuOnExit,
567 bool maintainOldFocus,
568 ::std::string const& initialPackId,
569 bool fullscreen,
570 bool legacySyncOnly
571 );
572
573 MCAPI ::std::shared_ptr<::AbstractScene> createPackSettingsScreen(::PackSettingsInfo packSettingsInfo);
574
575 MCAPI ::std::shared_ptr<::AbstractScene> createPauseScreen(bool overlaySocialDrawerOnce);
576
577 MCAPI ::std::shared_ptr<::AbstractScene> createPermissionsScreen(::ActorUniqueID defaultPlayerId);
578
579 MCAPI ::std::shared_ptr<::AbstractScene>
580 createPlatformNetworkConnectConfirmationScreen(::std::function<void(bool)> callback);
581
582 MCAPI ::std::shared_ptr<::AbstractScene>
583 createPlatformSplitScreenConnectConfirmationScreen(::std::function<void(bool)> callback);
584
585 MCAPI ::std::shared_ptr<::AbstractScene>
586 createPlatformStoreConnectConfirmationScreen(::std::function<void(bool)> callback);
587
588 MCAPI ::std::shared_ptr<::AbstractScene> createPortfolioScreen();
589
590 MCAPI ::std::shared_ptr<::AbstractScene> createProgressScreen(
591 ::std::string const& uniqueEventName,
592 ::std::unique_ptr<::ProgressHandler> progressHandler,
593 bool loadAssets,
594 bool sendProgressTelem,
595 ::std::string const& overrideScreen
596 );
597
598 MCAPI ::std::shared_ptr<::AbstractScene> createProgressScreen(
599 ::std::string const& uniqueEventName,
600 ::std::deque<::std::unique_ptr<::ProgressHandler>>&& progressHandlerList,
601 bool loadAssets,
602 bool sendProgressTelem,
603 ::std::string const& overrideScreen
604 );
605
606 MCAPI ::std::shared_ptr<::AbstractScene> createProgressScreen(
607 ::std::string const& uniqueEventName,
608 ::std::deque<::std::unique_ptr<::ProgressHandler>> progressHandlerList,
609 bool loadAssets,
610 bool sendProgressTelem,
611 bool useRandomProgressMessage,
612 bool allowSmallDownloads,
613 ::ProgressContentType contentType,
614 ::GameType gameType
615 );
616
617 MCAPI ::std::shared_ptr<::AbstractScene>
618 createRatingPromptPopup(::std::string const& title, ::std::string const& image, ::std::string const& buttonName);
619
620 MCAPI ::std::shared_ptr<::AbstractScene> createRealmNetworkProgressScreen(
621 ::std::string const& uniqueEventName,
622 ::std::unique_ptr<::ProgressHandler> connectHandler
623 );
624
625 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsAllowListScreen(
626 ::Realms::World const& world,
627 ::std::function<void()> followUpActionAfterCreation,
628 bool forceNewWorld
629 );
630
631 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsCreateScreen(::RealmsCreateParams const& screenDetails);
632
633 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsInviteLinkSettingScreen(
634 ::Realms::World const& world,
635 ::Realms::InviteLink const& link,
636 ::SettingsTabIndex initialTab
637 );
638
639 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsInviteLinksScreen(::Realms::World const& world);
640
641 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsJoinProgressScreen(
642 ::std::string const& uniqueEventName,
643 ::std::unique_ptr<::ProgressHandler> connectHandler,
644 ::std::unique_ptr<::ProgressHandler> progressHandler,
645 bool loadAssets,
646 bool realmsPlusExpired,
647 ::std::function<void()> onlineSafetyCancelledCallback
648 );
649
650 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsManageMembersScreen(::Realms::World const& world);
651
652 MCAPI ::std::shared_ptr<::AbstractScene>
653 createRealmsManageScreen(::Realms::World const& world, ::SettingsTabIndex initialTab);
654
655 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsPackErrorsScreen();
656
657 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsPendingInvitesScreen(bool hasPendingInvites);
658
659 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsPlusPurchaseWarningScreen(::std::function<void()> callback);
660
661 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsSavesScreen(::Realms::World const& world);
662
663 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsSettingsScreen(
664 ::Realms::World const& world,
665 ::SettingsTabIndex initialTab,
666 ::std::string const& initialPackId
667 );
668
669 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsSharingLauncherScreen(::std::string const& realmsInvite);
670
671 MCAPI ::std::shared_ptr<::AbstractScene>
672 createRealmsSlotSettingsScreen(::Realms::World const& world, ::SettingsTabIndex initialTab);
673
674 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsSlotsScreen(::Realms::World& world);
675
676 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsStoriesTransitionScreen(::Realms::World const& world);
677
678 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsWarningScreen();
679
680 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsWarningScreenWithParams(
681 ::Realms::World const& world,
682 ::std::string const& ip,
683 int port,
684 ::std::string const& serverRegion,
685 int serviceQuality
686 );
687
688 MCAPI ::std::shared_ptr<::AbstractScene> createSafeZoneScreen();
689
690 MCAPI ::std::shared_ptr<::AbstractScene> createSceneFromUrl(::std::string const& url, ::OreUI::RouteMode mode);
691
692 MCAPI ::std::shared_ptr<::AbstractScene> createScreenshotScreen();
693
694 MCAPI ::std::shared_ptr<::AbstractScene> createSelectWorldScreen(
695 ::std::function<
696 void(::SelectWorldResult, ::optional_ref<::LevelSummary const>, ::optional_ref<::Realms::World const>)>
697 callback
698 );
699
700 MCAPI ::std::shared_ptr<::AbstractScene> createServerForm(uint formId, ::std::string const& formJSON);
701
702 MCAPI ::std::shared_ptr<::AbstractScene>
703 createServerTrustModalScreen(::std::string serverAddress, ::Bedrock::Threading::AsyncPromise<bool> resultPromise);
704
705 MCAPI ::std::shared_ptr<::AbstractScene>
706 createSignScreen(::BlockPos const& pos, ::BlockActorType blockActorType, bool isFrontSide);
707
708 MCAPI ::std::shared_ptr<::AbstractScene> createStorageMigrationProgressScreen(
709 ::Bedrock::NonOwnerPointer<::Bedrock::StorageMigration::StorageMigrationService> const& migrationService
710 );
711
712 MCAPI ::std::shared_ptr<::AbstractScene> createStorageSpaceWarningScreen(::std::string const& message);
713
714 MCAPI ::std::shared_ptr<::AbstractScene> createStoreFeaturesDisabledScreen(::std::string const& messageOverride);
715
716 MCAPI ::std::shared_ptr<::AbstractScene>
717 createStoreInventoryScreen(::InventoryTabIndex tabIndex, ::std::optional<::StoreDataDrivenScreenParams> paramsOpt);
718
719 MCAPI ::std::shared_ptr<::AbstractScene>
720 createSubmitFeedbackScreen(::FeedbackType feedbackType, ::std::string const& identifier, int feedbackTextLimit);
721
722 MCAPI ::std::shared_ptr<::AbstractScene> createSunsettingScreen(::std::string& title);
723
724 MCAPI ::std::shared_ptr<::AbstractScene> createTTSEnabledWarningScreen(::TTSEnabledStatus status);
725
726 MCAPI ::std::shared_ptr<::AbstractScene> createTTSErrorScreen();
727
728 MCAPI ::std::shared_ptr<::AbstractScene> createToastScreen();
729
730 MCAPI ::std::shared_ptr<::AbstractScene> createTokenFAQScreen();
731
732 MCAPI ::std::shared_ptr<::AbstractScene> createTokenPopupScreen();
733
734 MCAPI ::std::shared_ptr<::AbstractScene> createTrade2Screen(::Player&, ::ActorUniqueID const& uniqueID);
735
736 MCAPI ::std::shared_ptr<::AbstractScene> createTradeScreen(::Player&, ::ActorUniqueID const& uniqueID);
737
738 MCAPI ::std::shared_ptr<::UIScene> createUIScene(
739 ::IMinecraftGame& mc,
740 ::IClientInstance& client,
741 ::std::string const& screenName,
742 ::std::shared_ptr<::ScreenController> controller
743 );
744
745 MCAPI ::std::shared_ptr<::AbstractScene>
746 createUpdateWorldHeightScreen(::std::function<void(bool)> startWorldCallback);
747
748 MCAPI ::std::shared_ptr<::AbstractScene> createUpsellScreen(bool isNewWorld, bool timeExpired);
749
750 MCAPI ::std::shared_ptr<::AbstractScene> createUserManagementModalScreen(
751 ::UserManagementModalScreenData const& screenData,
752 ::std::function<void(bool)> callback
753 );
754
755 MCAPI ::std::shared_ptr<::AbstractScene> createVersionUpdateScreen(::UpdateVersionScreenContext context);
756
757 MCAPI ::std::shared_ptr<::AbstractScene> createWin10TrialConversionScreen();
758
759 MCAPI ::std::shared_ptr<::AbstractScene>
760 createWorldConversionCompleteScreen(::std::string const& levelId, ::std::function<void()> cancelCallback);
761
762 MCAPI ::std::shared_ptr<::AbstractScene> createWorldRecoveryScreen(::std::function<void()> successCallback);
763
764 MCAPI ::std::shared_ptr<::AbstractScene> createWorldSeedCatalogScreen(
765 ::std::function<void(::std::string const&, ::std::string const&, ::Core::Path const&)> closeCallback
766 );
767
768 MCAPI ::std::shared_ptr<::AbstractScene> createWorldTemplateScreen(bool hideTopBar);
769
770 MCAPI ::std::shared_ptr<::AbstractScene> createXblConsoleSignInScreen(::std::string const& code);
771
772 MCAPI ::std::shared_ptr<::AbstractScene> createXblImmediateSignInScreen(
773 ::std::string const& signInSource,
774 ::std::function<void()> callBackAfterSignIn,
775 ::std::function<void()> callBackAfterCancel
776 );
777
778 MCAPI ::std::shared_ptr<::AbstractScene> createXblImmediateSignInScreen(
779 ::std::string const& signInSource,
780 ::std::string const& redirectToRoute,
781 bool replacePreviousRouteAfterSignIn
782 );
783
784 MCAPI ::Json::Value generateGlobalVars(::std::string const& screenName, ::ScreenController& controller);
785
786 MCAPI ::Bedrock::NotNullNonOwnerPtr<::ISceneStack> getCurrentSceneStack();
787
788 MCAPI void precacheGameplayScreens();
789
790 MCAPI void registerInGameScreen(
791 ::std::string const& registeredName,
792 ::std::string const& resourceName,
793 ::std::function<::std::shared_ptr<::UIScene>(
794 ::SceneFactory&,
795 ::IMinecraftGame&,
796 ::IClientInstance&,
797 ::Bedrock::NotNullNonOwnerPtr<::IAdvancedGraphicsOptions> const&,
798 ::std::string const&,
799 ::Player&,
800 ::BlockPos const&,
801 ::ActorUniqueID
802 )> creationFunc
803 );
804
805 MCAPI void resetSceneStackForOutOfGameUse();
806
807 MCAPI void setUseClientInstanceStack(bool useClientInstanceStack);
808
809 MCAPI void unregisterInGameScreens();
810 // NOLINTEND
811
812public:
813 // constructor thunks
814 // NOLINTBEGIN
815 MCAPI void* $ctor(
816 ::IMinecraftGame& minecraft,
817 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const& client,
818 ::Bedrock::NotNullNonOwnerPtr<::IAdvancedGraphicsOptions> const& advancedGraphicsOptions,
819 ::OreUI::SceneProvider& sceneProvider
820 );
821 // NOLINTEND
822
823public:
824 // destructor thunk
825 // NOLINTBEGIN
826 MCAPI void $dtor();
827 // NOLINTEND
828
829public:
830 // virtual function thunks
831 // NOLINTBEGIN
832 MCAPI ::std::shared_ptr<::AbstractScene> $createDevConsole();
833
834 MCAPI ::std::shared_ptr<::AbstractScene> $createTabbedUpsellScreen(::TabbedUpsellScreenDefaultTab tab);
835
836 MCAPI ::std::shared_ptr<::AbstractScene> $createStoreDataDrivenScreen(
837 ::StoreDataDrivenScreenParams const& params,
838 bool const forceDisableProgressScreen,
839 ::std::function<void()> initializedCallback
840 );
841
842 MCAPI ::std::shared_ptr<::AbstractScene> $createStartMenuScreen(bool shouldSendEvent);
843 // NOLINTEND
844};
Definition AbstractScene.h:5
Definition BaseScreen.h:5
Definition StorageMigrationService.h:21
Definition BlockActor.h:28
Definition BlockPos.h:17
Definition CachedScenes.h:5
Definition Path.h:11
Definition DlcId.h:5
Definition IAdvancedGraphicsOptions.h:10
Definition IClientInstance.h:5
Definition IContentKeyProvider.h:13
Definition IContentManager.h:5
Definition IMinecraftGame.h:5
Definition ISceneFactory.h:5
Definition ISceneStack.h:5
Definition IUIDefRepository.h:5
Definition Value.h:16
Definition LayoutManager.h:5
Definition LibraryCollection.h:5
Definition LibraryItem.h:5
Definition MinecraftScreenModel.h:5
Definition OnlineSafetyProgressHandler.h:5
Definition SceneProvider.h:7
Definition PackManifestFactory.h:19
Definition Player.h:129
Definition ProgressHandler.h:5
Definition RealmsCreateParams.h:5
Definition ResourceLocation.h:15
Definition SceneFactoryProxy.h:5
Definition SceneFactory.h:5
Definition ScreenController.h:5
Definition TaskGroup.h:61
Definition UIControlFactory.h:5
Definition UIControl.h:5
Definition UIScene.h:5
Definition UISoundPlayer.h:5
Definition VisualTree.h:5
Definition ActiveDirectoryModalArgs.h:5
Definition ActorUniqueID.h:5
Definition ContentItem.h:5
Definition DimensionType.h:5
Definition EDULibraryCategory.h:5
Definition INpcDialogueData.h:12
Definition LevelSummary.h:30
Definition ModalScreenData.h:5
Definition PackContentItem.h:5
Definition PackSettingsInfo.h:5
Definition World.h:7
Definition SceneFactory.h:13
Definition StoreDataDrivenScreenParams.h:5
Definition UserManagementModalScreenData.h:5
Definition WorldTemplateInfo.h:12