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