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