LeviLamina
Loading...
Searching...
No Matches
SceneFactory.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/certificates/identity/LastClickedSource.h"
7#include "mc/client/gui/CraftingType.h"
8#include "mc/client/gui/EncyclopediaTopicIndex.h"
9#include "mc/client/gui/HowToPlayTopicIndex.h"
10#include "mc/client/gui/ProgressContentType.h"
11#include "mc/client/gui/SettingsTabIndex.h"
12#include "mc/client/gui/oreui/interface/RouteMode.h"
13#include "mc/client/gui/screens/OnlineSafetyDialogVisibility.h"
14#include "mc/client/gui/screens/SelectWorldResult.h"
15#include "mc/client/gui/screens/controllers/CreditsType.h"
16#include "mc/client/gui/screens/controllers/InventoryTabIndex.h"
17#include "mc/client/gui/screens/controllers/LibraryModalScreenType.h"
18#include "mc/client/gui/screens/controllers/MarketplacePassTabIndex.h"
19#include "mc/client/gui/screens/controllers/RealmsPlusTabIndex.h"
20#include "mc/client/gui/screens/controllers/SlotSelectedAction.h"
21#include "mc/client/gui/screens/controllers/TabbedUpsellScreenDefaultTab.h"
22#include "mc/client/gui/screens/controllers/UpdateVersionScreenContext.h"
23#include "mc/client/gui/screens/interfaces/ISceneFactory.h"
24#include "mc/client/gui/screens/models/PlayScreenDefaultTab.h"
25#include "mc/client/store/sidebar/Type.h"
26#include "mc/client/tts/TTSEnabledStatus.h"
27#include "mc/deps/core/file/FileUploadType.h"
28#include "mc/deps/core/string/HashedString.h"
29#include "mc/deps/core/threading/Async.h"
30#include "mc/deps/core/utility/AutomaticID.h"
31#include "mc/deps/core/utility/NonOwnerPointer.h"
32#include "mc/deps/core/utility/optional_ref.h"
33#include "mc/deps/core/utility/pub_sub/Subscription.h"
34#include "mc/deps/input/interface/GameControllerErrorType.h"
35#include "mc/events/OpenCodeMethod.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 Dimension;
49class DlcId;
51class IClientInstance;
53class IContentManager;
54class IMinecraftGame;
55class IStoreCatalogItem;
57class LayoutManager;
59class LibraryItem;
61class OfferCollectionComponent;
64class Player;
65class ProgressHandler;
71class SkinPackModel;
72class StoreCatalogItem;
73class TaskGroup;
74class UIControl;
76class UIScene;
77class UISoundPlayer;
78class VisualTree;
80struct ActorUniqueID;
81struct ContentItem;
83struct INpcDialogueData;
84struct LevelSummary;
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 public:
119 // member functions
120 // NOLINTBEGIN
121 MCAPI ~PreCachePackage();
122 // NOLINTEND
123
124 public:
125 // destructor thunk
126 // NOLINTBEGIN
127 MCAPI void $dtor();
128 // NOLINTEND
129 };
130
131 using InGameScreenCreator = ::std::function<::std::shared_ptr<::UIScene>(
132 ::SceneFactory&,
133 ::IMinecraftGame&,
134 ::IClientInstance&,
135 ::Bedrock::NotNullNonOwnerPtr<::IAdvancedGraphicsOptions> const&,
136 ::std::string const&,
137 ::Player&,
138 ::BlockPos const&,
139 ::ActorUniqueID
140 )>;
141
142public:
143 // member variables
144 // NOLINTBEGIN
145 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance>> mClient;
146 ::ll::TypedStorage<8, 8, ::IMinecraftGame&> mMinecraft;
147 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IAdvancedGraphicsOptions>> mAdvancedGraphicsOptions;
148 ::ll::TypedStorage<1, 1, bool> mIsEditorModeEnabled;
149 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mTaskGroup;
150 ::ll::TypedStorage<1, 1, bool> mUseClientInstanceStack;
151 ::ll::TypedStorage<8, 8, ::OreUI::SceneProvider&> mSceneProvider;
152 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::UISoundPlayer>> mSoundPlayer;
153 ::ll::TypedStorage<8, 8, ::CachedScenes&> mCachedScenes;
154 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::SceneFactory::PreCachePackage>>> mPreCachePackages;
155 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SceneFactoryProxy>> mProxy;
156 ::ll::TypedStorage<
157 8,
158 64,
159 ::std::unordered_map<
160 ::HashedString,
161 ::std::pair<
162 ::std::string,
163 ::std::function<::std::shared_ptr<::UIScene>(
164 ::SceneFactory&,
165 ::IMinecraftGame&,
166 ::IClientInstance&,
167 ::Bedrock::NotNullNonOwnerPtr<::IAdvancedGraphicsOptions> const&,
168 ::std::string const&,
169 ::Player&,
170 ::BlockPos const&,
171 ::ActorUniqueID
172 )>>>>
173 mRegisteredInGameScreens;
174 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mSceneStackDestroyedSubscription;
175 // NOLINTEND
176
177public:
178 // prevent constructor by default
179 SceneFactory& operator=(SceneFactory const&);
180 SceneFactory(SceneFactory const&);
181 SceneFactory();
182
183public:
184 // virtual functions
185 // NOLINTBEGIN
186 virtual ~SceneFactory() /*override*/;
187
188 virtual ::std::shared_ptr<::AbstractScene>
189 createTabbedUpsellScreen(::TabbedUpsellScreenDefaultTab tab) /*override*/;
190
191 virtual ::std::shared_ptr<::AbstractScene> createStoreDataDrivenScreen(
192 ::StoreDataDrivenScreenParams const& params,
193 bool const forceDisableProgressScreen,
194 ::std::function<void()> initializedCallback
195 ) /*override*/;
196
197 virtual ::std::shared_ptr<::AbstractScene> createStartMenuScreen(bool shouldSendEvent) /*override*/;
198
199 virtual ::Json::Value
200 createGlobalVars(::Bedrock::NotNullNonOwnerPtr<::IUIDefRepository const> defRepository) const = 0;
201 // NOLINTEND
202
203public:
204 // member functions
205 // NOLINTBEGIN
206 MCAPI SceneFactory(
207 ::IMinecraftGame& minecraft,
208 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const& client,
209 ::Bedrock::NotNullNonOwnerPtr<::IAdvancedGraphicsOptions> const& advancedGraphicsOptions,
210 ::OreUI::SceneProvider& sceneProvider
211 );
212
213 MCAPI ::Json::Value _calculateSafeZoneSize(
214 float safeZoneScaleFactor,
215 float screenPositionOffset,
216 bool horizontal,
217 bool isToporLeft
218 ) const;
219
220 MCAPI void _createInventoryScreenCache();
221
222 MCAPI ::std::shared_ptr<::AbstractScene> _createPlayScreenImpl(
223 ::PlayScreenDefaultTab tab,
224 ::std::string const& dirtyLevelId,
225 ::std::function<void()> initializedCallback
226 );
227
228 MCAPI ::std::shared_ptr<::AbstractScene> _createScreen(::std::shared_ptr<::BaseScreen> newScreen);
229
230 MCAPI void _createWorldSettingsScreenCache();
231
232 MCAPI void _preCacheScreen(::Json::Value const& globalVars, ::std::string const& screenName);
233
234 MCAPI void _setUseClientInstanceStack(bool useClientInstanceStack);
235
236 MCAPI ::std::shared_ptr<::AbstractScene> createAcceptDeclineInvitationScreen(
237 ::std::string const& title,
238 ::std::string const& subtitle,
239 ::std::function<void(bool, bool)> callback
240 );
241
242 MCAPI ::std::shared_ptr<::AbstractScene>
243 createActiveDirectoryAuthenticationScreen(bool displaySignIn, ::LastClickedSource lastClickedSource);
244
245 MCAPI ::std::shared_ptr<::AbstractScene> createActiveDirectoryModal(::ActiveDirectoryModalArgs const& args);
246
247 MCAPI ::std::shared_ptr<::AbstractScene> createAddEditExternalServerScreen(int id);
248
249 MCAPI ::std::shared_ptr<::AbstractScene> createAdhocInProgressScreen(bool enableAdhoc);
250
251 MCAPI ::std::shared_ptr<::AbstractScene> createAdhocScreen();
252
253 MCAPI ::std::shared_ptr<::AbstractScene>
254 createApplyResourcePacksScreen(::std::function<void(::MinecraftScreenModel&)> applyPacks);
255
256 MCAPI ::std::shared_ptr<::AbstractScene> createAutoSaveInfoScreen();
257
258 MCAPI ::std::shared_ptr<::AbstractScene>
259 createBookScreen(int bookSlot, bool editable, int page, ::BlockActor* lectern);
260
261 MCAPI ::std::shared_ptr<::AbstractScene> createBundlePurchaseWarningScreen(
262 ::IStoreCatalogItem const& catalogItem,
263 ::OfferCollectionComponent const& bundleCollection,
264 ::std::function<void()> onPurchaseCallback
265 );
266
267 MCAPI ::std::shared_ptr<::AbstractScene> createCannotUseNetworkFeaturesScreen();
268
269 MCAPI ::std::shared_ptr<::AbstractScene> createCellularDataWarningScreen(::std::function<void(bool)> callback);
270
271 MCAPI ::std::shared_ptr<::AbstractScene> createChalkboardScreen(::BlockPos const& pos, bool lockVisible);
272
273 MCAPI ::std::shared_ptr<::AbstractScene> createChatScreen();
274
275 MCAPI ::std::shared_ptr<::AbstractScene> createChooseRealmScreen(
276 ::std::function<void(::Realms::World)> callback,
277 ::SlotSelectedAction action,
278 ::std::function<void()> onCancelCallback
279 );
280
281 MCAPI ::std::shared_ptr<::AbstractScene> createCodeScreen(::OpenCodeMethod openMethod);
282
283 MCAPI ::std::shared_ptr<::AbstractScene>
284 createCommonDialogInfoScreen(::std::string const& dialogTitle, ::std::string const& dialogBody);
285
286 MCAPI ::std::shared_ptr<::AbstractScene>
287 createConnectGamepadScreen(::GameControllerErrorType controllerError, ::std::function<void()> onCompleteCallback);
288
289 MCAPI ::std::shared_ptr<::AbstractScene> createConsoleScreen();
290
291 MCAPI ::std::shared_ptr<::AbstractScene> createContentLogHistoryScreen();
292
293 MCAPI ::std::shared_ptr<::AbstractScene>
294 createCreditsScreen(::CreditsType contentType, ::std::function<void()> callback);
295
296 MCAPI ::std::shared_ptr<::AbstractScene> createCubeMapScreen(bool flushable);
297
298 MCAPI ::std::shared_ptr<::AbstractScene>
299 createCustomTemplatesScreen(::std::vector<::WorldTemplateInfo> const& customTemplates);
300
301 MCAPI ::std::shared_ptr<::AbstractScene> createDayOneExperienceIntroPopup();
302
303 MCAPI ::std::shared_ptr<::AbstractScene> createDayOneExperienceScreen();
304
305 MCAPI ::std::shared_ptr<::AbstractScene> createDeathScreen();
306
307 MCAPI ::std::shared_ptr<::AbstractScene> createDebugScreen();
308
309 MCAPI ::std::shared_ptr<::AbstractScene> createDeeplinkConfirmationScreen(::std::function<void(bool)> callback);
310
311 MCAPI ::std::shared_ptr<::AbstractScene> createDeleteAccountScreen();
312
313 MCAPI ::std::shared_ptr<::AbstractScene> createDeleteProgressScreen(
314 ::std::string const& uniqueEventName,
315 ::IContentManager& contentManager,
316 ::std::vector<::std::shared_ptr<::ContentItem const>>&& itemsToDelete
317 );
318
319 MCAPI ::std::shared_ptr<::AbstractScene> createDevConsole();
320
321 MCAPI ::std::shared_ptr<::AbstractScene>
322 createDimensionChangeProgressScreen(bool localServer, ::DimensionType targetDimensionID);
323
324 MCAPI ::std::shared_ptr<::AbstractScene>
325 createDisabledSkinScreen(bool twoButtonWithCallback, ::std::function<void()> callback);
326
327 MCAPI ::std::shared_ptr<::AbstractScene> createDisconnectScreen(
328 ::std::string const& titleMessage,
329 ::std::string const& displayMessage,
330 ::std::string const& screenNameOverride,
331 ::std::string const& telemetryOverride
332 );
333
334 MCAPI ::std::shared_ptr<::AbstractScene> createDlcProgressScreen(
335 ::std::vector<::DlcId> const& dlcIds,
336 ::std::function<void(bool, bool)> callback,
337 bool showCloseButton,
338 bool processingUpdates,
339 bool requireCancelToExit
340 );
341
342 MCAPI ::std::shared_ptr<::AbstractScene> createEDULibraryCategoryScreen(
343 ::std::string const& title,
344 ::std::string const& icon,
345 ::std::string const& description,
346 ::std::string const& screenshotRatio,
347 int columnCount,
348 ::std::vector<::EDULibraryCategory> const& categories,
349 bool firstPage
350 );
351
352 MCAPI ::std::shared_ptr<::AbstractScene> createEDUPlayScreen(::std::string initialCode);
353
354 MCAPI ::std::shared_ptr<::AbstractScene> createEDUServersScreen();
355
356 MCAPI ::std::shared_ptr<::AbstractScene> createEDUWorldTemplatesScreen();
357
358 MCAPI ::std::shared_ptr<::AbstractScene> createEDUWorldsScreen();
359
360 MCAPI ::std::shared_ptr<::AbstractScene> createEditWorldScreen(
361 ::LevelSummary const& levelSummary,
362 ::std::string const& packId,
363 ::std::function<void()> onOpenCallback
364 );
365
366 MCAPI ::std::shared_ptr<::AbstractScene> createEmoteWheelScreen();
367
368 MCAPI ::std::shared_ptr<::AbstractScene> createEncryptionWarningScreen(::std::function<void(bool)> callback);
369
370 MCAPI ::std::shared_ptr<::AbstractScene> createEncyclopediaScreen(::EncyclopediaTopicIndex startingTopicIndex);
371
372 MCAPI ::std::shared_ptr<::AbstractScene> createExpandedSkinPackScreen(
373 ::StoreCatalogItem const& catalogItem,
374 ::SkinPackModel& skinPackModel,
375 ::SkinPackCollectionModel& skinPackCollection
376 );
377
378 MCAPI ::std::shared_ptr<::AbstractScene> createExternalLinkDialogScreen(
379 ::std::string const& title,
380 ::std::string const& externalLink,
381 ::std::string const& message,
382 ::std::string const& goToPageText,
383 ::std::string const& secondButtonText,
384 ::std::function<void()> const& callback
385 );
386
387 MCAPI ::std::shared_ptr<::AbstractScene>
388 createFeedbackPromptPopup(::std::string const& title, ::std::string const& image, ::std::string const& buttonName);
389
390 MCAPI ::std::shared_ptr<::AbstractScene> createFileDownloadProgressScreen(
391 ::std::string const& realmID,
392 int slotIndex,
393 ::std::string const& realmName,
394 ::std::string const& realmVersion,
395 ::std::string const& realmVersionName,
396 ::std::function<void(bool)> callback
397 );
398
399 MCAPI ::std::shared_ptr<::AbstractScene> createFileUploadProgressScreen(
400 ::std::string const& realmID,
401 ::std::string const& fileID,
402 int slotIndex,
403 bool needArchiving,
404 ::Core::FileUploadType fileUploadType,
405 ::std::function<void(::UploadState, ::Realms::World)> callback
406 );
407
408 MCAPI ::std::shared_ptr<::AbstractScene> createGameInputErrorScreen(::std::function<void()> callback);
409
410 MCAPI ::std::shared_ptr<::AbstractScene> createGamepadDisconnectScreen();
411
412 MCAPI ::std::shared_ptr<::AbstractScene> createGameplayScreen();
413
414 MCAPI ::std::shared_ptr<::AbstractScene> createGammaCalibrationScreen();
415
416 MCAPI ::std::shared_ptr<::AbstractScene> createGatheringInfoScreen(bool autoConnect);
417
418 MCAPI ::std::shared_ptr<::AbstractScene> createGatheringWarningScreen(::std::string const& messageOverride);
419
420 MCAPI ::std::shared_ptr<::AbstractScene> createGlobalPauseScreen();
421
422 MCAPI ::std::shared_ptr<::AbstractScene> createHowToPlayScreen(::HowToPlayTopicIndex startingTopicIndex);
423
424 MCAPI ::std::shared_ptr<::AbstractScene> createHudScreen();
425
426 MCAPI ::std::shared_ptr<::AbstractScene> createIPSafetyDialogScreen(int externalServerId);
427
428 MCAPI ::std::shared_ptr<::AbstractScene> createImmersiveReader(::std::string readerText);
429
430 MCAPI ::std::shared_ptr<::AbstractScene> createImportExportProgressScreen(
431 ::std::string const& titleText,
432 ::std::string const& uniqueEventName,
433 ::std::string const& messageText
434 );
435
436 MCAPI ::std::shared_ptr<::AbstractScene> createInBedScreen();
437
438 MCAPI ::std::shared_ptr<::AbstractScene>
439 createInGameSceneFromUrl(::std::string const& url, ::OreUI::RouteMode mode);
440
441 MCAPI ::std::shared_ptr<::AbstractScene>
442 createInGameScreen(::std::string const& name, ::Player& player, ::BlockPos const& pos, ::ActorUniqueID uniqueId);
443
444 MCAPI ::std::shared_ptr<::AbstractScene> createInventoryScreen(::CraftingType craftingType);
445
446 MCAPI ::std::shared_ptr<::AbstractScene> createInviteScreen();
447
448 MCAPI ::std::shared_ptr<::AbstractScene>
449 createLateJoinPreGameScreen(::std::function<void()> const& userReadyCallback, bool hasXBLBroadcast);
450
451 MCAPI ::std::shared_ptr<::AbstractScene> createLeaveLevelScreen(
452 ::std::string const& uniqueEventName,
453 ::std::deque<::std::unique_ptr<::ProgressHandler>> progressHandlerList,
454 bool loadAssets
455 );
456
457 MCAPI ::std::shared_ptr<::AbstractScene>
458 createLegacyCreateWorldFromTemplateScreen(::LevelSummary const& levelSummary);
459
460 MCAPI ::std::shared_ptr<::AbstractScene> createLegacyCreateWorldScreen();
461
462 MCAPI ::std::shared_ptr<::AbstractScene> createLegacyRealmsPDPScreen(
463 ::RealmsPlusTabIndex tabIndex,
464 ::std::function<void(::Realms::World&)> onCreateCallback
465 );
466
467 MCAPI ::std::shared_ptr<::AbstractScene> createLegacyRealmsPlusEndedScreen();
468
469 MCAPI ::std::shared_ptr<::AbstractScene> createLegacyWorldTemplateLoadingScreen(::std::string const& manifestId);
470
471 MCAPI ::std::shared_ptr<::AbstractScene> createLessonCompleteScreen();
472
473 MCAPI ::std::shared_ptr<::AbstractScene> createLibraryItemScreen(
474 ::std::shared_ptr<::LibraryItem> item,
475 ::std::unordered_map<::std::string, ::std::string> additionalOptions
476 );
477
478 MCAPI ::std::shared_ptr<::AbstractScene> createLibraryModalScreen(
479 ::LibraryModalScreenType type,
480 ::std::function<void(bool)> callback,
481 ::std::vector<::std::pair<::std::string, ::std::string>> eventProperties
482 );
483
484 MCAPI ::std::shared_ptr<::AbstractScene> createLibraryScreen(::std::shared_ptr<::LibraryCollection> collection);
485
486 MCAPI ::std::shared_ptr<::AbstractScene> createLibrarySearchScreen(
487 ::std::shared_ptr<::LibraryCollection> collection,
488 ::std::string const& libraryTitle,
489 ::std::string const& libraryIcon
490 );
491
492 MCAPI ::std::shared_ptr<::AbstractScene> createLibraryTagScreen(
493 ::std::shared_ptr<::LibraryCollection> collection,
494 ::std::string const& libraryTitle,
495 ::std::string const& libraryIcon,
496 ::std::string const& libraryPageDescription
497 );
498
499 MCAPI ::std::shared_ptr<::AbstractScene> createLibraryWorldScreen(
500 ::std::shared_ptr<::LibraryCollection> collection,
501 ::std::string libraryTitle,
502 ::std::string libraryIcon,
503 ::std::string libraryPageDescription,
504 ::std::string const& categoryTitle
505 );
506
507 MCAPI ::std::shared_ptr<::AbstractScene> createLocalWorldPickerScreen(
508 ::std::string const& realmID,
509 int slotIndex,
510 ::std::function<void(::UploadState, ::Realms::World)> callbackAfterUpload
511 );
512
513 MCAPI ::std::shared_ptr<::AbstractScene>
514 createMakeInfiniteScreen(::LevelSummary const& editedLevel, ::StorageVersion storageVersion);
515
516 MCAPI ::std::shared_ptr<::AbstractScene> createManageFeedScreen(::Realms::World const& world);
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> createPortfolioScreen();
621
622 MCAPI ::std::shared_ptr<::AbstractScene> createProgressScreen(
623 ::std::string const& uniqueEventName,
624 ::std::unique_ptr<::ProgressHandler> progressHandler,
625 bool loadAssets,
626 bool sendProgressTelem,
627 ::std::string const& overrideScreen
628 );
629
630 MCAPI ::std::shared_ptr<::AbstractScene> createProgressScreen(
631 ::std::string const& uniqueEventName,
632 ::std::deque<::std::unique_ptr<::ProgressHandler>>&& progressHandlerList,
633 bool loadAssets,
634 bool sendProgressTelem,
635 ::std::string const& overrideScreen
636 );
637
638 MCAPI ::std::shared_ptr<::AbstractScene> createProgressScreen(
639 ::std::string const& uniqueEventName,
640 ::std::deque<::std::unique_ptr<::ProgressHandler>> progressHandlerList,
641 bool loadAssets,
642 bool sendProgressTelem,
643 bool useRandomProgressMessage,
644 bool allowSmallDownloads,
645 ::ProgressContentType contentType,
646 ::GameType gameType
647 );
648
649 MCAPI ::std::shared_ptr<::AbstractScene>
650 createRatingPromptPopup(::std::string const& title, ::std::string const& image, ::std::string const& buttonName);
651
652 MCAPI ::std::shared_ptr<::AbstractScene> createRealmNetworkProgressScreen(
653 ::std::string const& uniqueEventName,
654 ::std::unique_ptr<::ProgressHandler> connectHandler
655 );
656
657 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsAllowListScreen(
658 ::Realms::World const& world,
659 ::std::function<void()> followUpActionAfterCreation,
660 bool forceNewWorld
661 );
662
663 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsCreateScreen(::RealmsCreateParams const& screenDetails);
664
665 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsInviteLinkSettingScreen(
666 ::Realms::World const& world,
667 ::Realms::InviteLink const& link,
668 ::SettingsTabIndex initialTab
669 );
670
671 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsInviteLinksScreen(::Realms::World const& world);
672
673 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsJoinProgressScreen(
674 ::std::string const& uniqueEventName,
675 ::std::unique_ptr<::ProgressHandler> connectHandler,
676 ::std::unique_ptr<::ProgressHandler> progressHandler,
677 bool loadAssets,
678 bool realmsPlusExpired,
679 ::std::function<void()> onlineSafetyCancelledCallback
680 );
681
682 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsManageMembersScreen(::Realms::World const& world);
683
684 MCAPI ::std::shared_ptr<::AbstractScene>
685 createRealmsManageScreen(::Realms::World const& world, ::SettingsTabIndex initialTab);
686
687 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsPackErrorsScreen();
688
689 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsPendingInvitesScreen(bool hasPendingInvites);
690
691 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsPlusPurchaseWarningScreen(::std::function<void()> callback);
692
693 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsSavesScreen(::Realms::World const& world);
694
695 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsSettingsScreen(
696 ::Realms::World const& world,
697 ::SettingsTabIndex initialTab,
698 ::std::string const& initialPackId
699 );
700
701 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsSharingLauncherScreen(::std::string const& realmsInvite);
702
703 MCAPI ::std::shared_ptr<::AbstractScene>
704 createRealmsSlotSettingsScreen(::Realms::World const& world, ::SettingsTabIndex initialTab);
705
706 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsSlotsScreen(::Realms::World& world);
707
708 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsStoriesTransitionScreen(::Realms::World const& world);
709
710 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsWarningScreen();
711
712 MCAPI ::std::shared_ptr<::AbstractScene> createRealmsWarningScreenWithParams(
713 ::Realms::World const& world,
714 ::std::string const& ip,
715 int port,
716 ::std::string const& serverRegion,
717 int serviceQuality
718 );
719
720 MCAPI ::std::shared_ptr<::AbstractScene> createSafeZoneScreen();
721
722 MCAPI ::std::shared_ptr<::AbstractScene> createScreenshotScreen();
723
724 MCAPI ::std::shared_ptr<::AbstractScene> createSelectWorldScreen(
725 ::std::function<
726 void(::SelectWorldResult, ::optional_ref<::LevelSummary const>, ::optional_ref<::Realms::World const>)>
727 callback
728 );
729
730 MCAPI ::std::shared_ptr<::AbstractScene> createServerForm(uint formId, ::std::string const& formJSON);
731
732 MCAPI ::std::shared_ptr<::AbstractScene>
733 createSignScreen(::BlockPos const& pos, ::BlockActorType blockActorType, bool isFrontSide);
734
735 MCAPI ::std::shared_ptr<::AbstractScene> createSkinPickerScreen();
736
737 MCAPI ::std::shared_ptr<::AbstractScene> createStorageMigrationProgressScreen(
738 ::Bedrock::NonOwnerPointer<::Bedrock::StorageMigration::StorageMigrationService> const& migrationService
739 );
740
741 MCAPI ::std::shared_ptr<::AbstractScene> createStorageSpaceWarningScreen(::std::string const& message);
742
743 MCAPI ::std::shared_ptr<::AbstractScene> createStoreFeaturesDisabledScreen(::std::string const& messageOverride);
744
745 MCAPI ::std::shared_ptr<::AbstractScene>
746 createStoreInventoryScreen(::InventoryTabIndex tabIndex, ::std::optional<::StoreDataDrivenScreenParams> paramsOpt);
747
748 MCAPI ::std::shared_ptr<::AbstractScene>
749 createSubmitFeedbackScreen(::std::string const& itemId, int feedbackTextLimit);
750
751 MCAPI ::std::shared_ptr<::AbstractScene> createSunsettingScreen(::std::string& title);
752
753 MCAPI ::std::shared_ptr<::AbstractScene> createTTSEnabledWarningScreen(::TTSEnabledStatus status);
754
755 MCAPI ::std::shared_ptr<::AbstractScene> createTTSErrorScreen();
756
757 MCAPI ::std::shared_ptr<::AbstractScene> createToastScreen();
758
759 MCAPI ::std::shared_ptr<::AbstractScene> createTokenFAQScreen();
760
761 MCAPI ::std::shared_ptr<::AbstractScene> createTokenPopupScreen();
762
763 MCAPI ::std::shared_ptr<::AbstractScene> createTrade2Screen(::Player&, ::ActorUniqueID const& uniqueID);
764
765 MCAPI ::std::shared_ptr<::AbstractScene> createTradeScreen(::Player&, ::ActorUniqueID const& uniqueID);
766
767 MCAPI ::std::shared_ptr<::UIScene> createUIScene(
768 ::IMinecraftGame& mc,
769 ::IClientInstance& client,
770 ::std::string const& screenName,
771 ::std::shared_ptr<::ScreenController> controller
772 );
773
774 MCAPI ::std::shared_ptr<::AbstractScene>
775 createUpdateWorldHeightScreen(::std::function<void(bool)> startWorldCallback);
776
777 MCAPI ::std::shared_ptr<::AbstractScene> createUpsellScreen(bool isNewWorld, bool timeExpired);
778
779 MCAPI ::std::shared_ptr<::AbstractScene> createUserManagementModalScreen(
780 ::UserManagementModalScreenData const& screenData,
781 ::std::function<void(bool)> callback
782 );
783
784 MCAPI ::std::shared_ptr<::AbstractScene> createVersionUpdateScreen(::UpdateVersionScreenContext context);
785
786 MCAPI ::std::shared_ptr<::AbstractScene> createWin10TrialConversionScreen();
787
788 MCAPI ::std::shared_ptr<::AbstractScene>
789 createWorldConversionCompleteScreen(::std::string const& levelId, ::std::function<void()> cancelCallback);
790
791 MCAPI ::std::shared_ptr<::AbstractScene> createWorldRecoveryScreen(::std::function<void()> successCallback);
792
793 MCAPI ::std::shared_ptr<::AbstractScene> createWorldSeedCatalogScreen(
794 ::std::function<void(::std::string const&, ::std::string const&, ::Core::Path const&)> closeCallback
795 );
796
797 MCAPI ::std::shared_ptr<::AbstractScene> createWorldTemplateScreen(bool hideTopBar);
798
799 MCAPI ::std::shared_ptr<::AbstractScene> createXblConsoleSignInScreen(::std::string const& code);
800
801 MCAPI ::std::shared_ptr<::AbstractScene> createXblImmediateSignInScreen(
802 ::std::string const& signInSource,
803 ::std::function<void()> callBackAfterSignIn,
804 ::std::function<void()> callBackAfterCancel
805 );
806
807 MCAPI ::std::shared_ptr<::AbstractScene> createXblImmediateSignInScreen(
808 ::std::string const& signInSource,
809 ::std::string const& redirectToRoute,
810 bool replacePreviousRouteAfterSignIn
811 );
812
813 MCAPI ::Json::Value generateGlobalVars(::std::string const& screenName, ::ScreenController& controller);
814
815 MCAPI void registerInGameScreen(
816 ::std::string const& name,
817 ::std::function<::std::shared_ptr<::UIScene>(
818 ::SceneFactory&,
819 ::IMinecraftGame&,
820 ::IClientInstance&,
821 ::Bedrock::NotNullNonOwnerPtr<::IAdvancedGraphicsOptions> const&,
822 ::std::string const&,
823 ::Player&,
824 ::BlockPos const&,
825 ::ActorUniqueID
826 )> creationFunc
827 );
828
829 MCAPI void registerInGameScreen(
830 ::std::string const& registeredName,
831 ::std::string const& resourceName,
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 terminateAsyncUILoading();
845 // NOLINTEND
846
847public:
848 // constructor thunks
849 // NOLINTBEGIN
850 MCAPI void* $ctor(
851 ::IMinecraftGame& minecraft,
852 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const& client,
853 ::Bedrock::NotNullNonOwnerPtr<::IAdvancedGraphicsOptions> const& advancedGraphicsOptions,
854 ::OreUI::SceneProvider& sceneProvider
855 );
856 // NOLINTEND
857
858public:
859 // destructor thunk
860 // NOLINTBEGIN
861 MCAPI void $dtor();
862 // NOLINTEND
863
864public:
865 // virtual function thunks
866 // NOLINTBEGIN
867 MCAPI ::std::shared_ptr<::AbstractScene> $createTabbedUpsellScreen(::TabbedUpsellScreenDefaultTab tab);
868
869 MCAPI ::std::shared_ptr<::AbstractScene> $createStoreDataDrivenScreen(
870 ::StoreDataDrivenScreenParams const& params,
871 bool const forceDisableProgressScreen,
872 ::std::function<void()> initializedCallback
873 );
874
875 MCAPI ::std::shared_ptr<::AbstractScene> $createStartMenuScreen(bool shouldSendEvent);
876 // NOLINTEND
877
878public:
879 // vftables
880 // NOLINTBEGIN
881 MCNAPI static void** $vftable();
882 // NOLINTEND
883};
Definition AbstractScene.h:5
Definition BaseScreen.h:5
Definition StorageMigrationService.h:21
Definition BlockActor.h:30
Definition BlockPos.h:19
Definition CachedScenes.h:5
Definition Path.h:17
Definition Dimension.h:86
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 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:20
Definition Player.h:129
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:57
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 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:12