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