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