LeviLamina
Loading...
Searching...
No Matches
MainMenuScreenModel.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/StoreNavigationOrigin.h"
7#include "mc/client/gui/screens/controllers/ClassroomSetting.h"
8#include "mc/client/gui/screens/controllers/EduShareMethodType.h"
9#include "mc/client/gui/screens/controllers/EduShareUriType.h"
10#include "mc/client/gui/screens/controllers/MarketplacePassTabIndex.h"
11#include "mc/client/gui/screens/controllers/SettingsScreenMode.h"
12#include "mc/client/gui/screens/controllers/SlotSelectedAction.h"
13#include "mc/client/gui/screens/models/IMainMenuScreenModel.h"
14#include "mc/client/gui/screens/models/InstantiationResult.h"
15#include "mc/client/gui/screens/models/MinecraftScreenModel.h"
16#include "mc/client/gui/screens/models/PlayScreenDefaultTab.h"
17#include "mc/client/network/NetworkFilter.h"
18#include "mc/client/services/catalog/RequirementCategory.h"
19#include "mc/client/social/MultiplayerServiceIdentifier.h"
20#include "mc/client/store/iap/PurchasePath.h"
21#include "mc/client/store/sidebar/Type.h"
22#include "mc/client/world/JoinServerWorldResult.h"
23#include "mc/deps/core/threading/Async.h"
24#include "mc/deps/core/threading/SharedAsync.h"
25#include "mc/deps/core/threading/TaskGroup.h"
26#include "mc/deps/core/utility/NonOwnerPointer.h"
27#include "mc/deps/input/enums/RawInputType.h"
28#include "mc/events/IMinecraftEventing.h"
29#include "mc/identity/IdentityType.h"
30#include "mc/platform/brstd/move_only_function.h"
31#include "mc/util/DownloadError.h"
32#include "mc/util/UploadState.h"
33#include "mc/world/level/storage/StorageVersion.h"
34
35// auto generated forward declare list
36// clang-format off
40class DlcChecker;
41class DlcId;
42class DlcUIWrapper;
47class IStoreCatalogItem;
49class LessonItem;
52class LibraryItem;
55class OfferCollectionComponent;
56class PackManifest;
58class PlatformOfferTransactionContext;
59class PlayScreenModel;
60class ProgressHandler;
62class RealmsTransactionContext;
65class SearchQuery;
66class SkinHandle;
68class SkinPackModel;
69class SkinPickerUpsellTreatmentQuery;
70class StoreCatalogItem;
71class StoreCatalogRepository;
72class StoreSearchQuery;
73class TransactionContext;
81struct LevelSummary;
82struct LinksToStyle;
84struct PackContentItem;
85struct PackIdVersion;
86struct PackSettingsInfo;
87struct PlatformOfferPurchaseDetails;
88struct Purchase;
89struct RealmsPurchaseDetails;
91struct SubmitItemRatingResult;
93namespace Bedrock::Http { class Status; }
94namespace Bedrock::PubSub { class Subscription; }
95namespace Clubs { struct FeedItem; }
96namespace Core { class Path; }
97namespace EduCloud { struct IEduCloudSaveSystem; }
98namespace Realms { class RealmsWorldContext; }
99namespace Realms { struct RealmId; }
100namespace Realms { struct World; }
101namespace Realms::Stories { class FacetStateManager; }
102namespace Realms::Stories { class RealmEvent; }
103namespace ResourcePackPathLifetimeHelpers { class ResourcePackPathCache; }
104namespace Social { class User; }
105namespace Social { struct EduDedicatedServerDetails; }
106namespace World { class LocalWorldList; }
107namespace mce { class UUID; }
108// clang-format on
109
111public:
112 // member variables
113 // NOLINTBEGIN
114 ::ll::TypedStorage<8, 336, ::TaskGroup> mTaskGroup;
115 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::MinecoinCatalogModel>> mMinecoinCatalogModel;
116 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::WorldSeedCatalogModel>> mWorldSeedCatalogModel;
117 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::WorldFileDownloadManager>> mFileDownloadManager;
118 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mFileUploadTaskGroup;
119 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::Bedrock::Threading::SharedAsync<void>>> mPreviousUpload;
120 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ResourcePackPathLifetimeHelpers::ResourcePackPathCache>>
121 mResourcePackPathCache;
122 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::WorldTemplateManager>> mWorldTemplateManager;
123 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::AnnouncementSurface>> mLoginAnnouncementSurface;
124 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::AnnouncementSurface>> mMarketplaceAnnouncementSurface;
125 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::DlcChecker>> mDlcChecker;
126 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::LegacyWorldConverter>> mLegacyWorldConverter;
127 // NOLINTEND
128
129public:
130 // prevent constructor by default
131 MainMenuScreenModel();
132
133public:
134 // virtual functions
135 // NOLINTBEGIN
136 virtual ~MainMenuScreenModel() /*override*/;
137
138 virtual void navigateToDlcProgressScreen(
139 ::std::vector<::DlcId> const& dlcIds,
140 ::std::function<void(bool, bool)> callback,
141 bool showCloseButton,
142 bool processingUpdates,
143 bool requireCancelToExit
144 ) /*override*/;
145
146 virtual ::std::string const& getLastPoppedScreenName() const /*override*/;
147
148 virtual ::Bedrock::NotNullNonOwnerPtr<::StoreCatalogRepository> getStoreCatalogRepository() const /*override*/;
149
150 virtual bool doesPlatformSupportRealms() const /*override*/;
151
152 virtual bool isSelectedSkinInitialized() const /*override*/;
153
154 virtual void repopulateWorldTemplates() /*override*/;
155
156 virtual ::WorldTemplateInfo const* findWorldTemplateByUUID(::std::vector<::mce::UUID> const& packUUIDs) const
157 /*override*/;
158
159 virtual bool isPackIdInRealmsPlus(::std::string const& packId) const /*override*/;
160
161 virtual float getStoreNetworkFailureTimeout() const /*override*/;
162
163 virtual bool isInGame() const /*override*/;
164
165 virtual ::IMinecraftEventing& getMinecraftEventing() const;
166
167 virtual bool isAdhocEnabled() const /*override*/;
168
169 virtual bool isNetworkEnabled(::NetworkFilter withFilter) const /*override*/;
170
171 virtual bool platformTTSExists() const /*override*/;
172 // NOLINTEND
173
174public:
175 // member functions
176 // NOLINTBEGIN
177 MCAPI explicit MainMenuScreenModel(::MinecraftScreenModelContext context);
178
179 MCAPI void _showAnnouncementIfAvailable(::Bedrock::NonOwnerPointer<::AnnouncementSurface> surface);
180
181 MCAPI bool canDisableRecipeUnlockingAsDefault() const;
182
183 MCAPI void cancelCreateRealmsWorld();
184
185 MCAPI void checkAndPostUnpublishedRealmEventsToRealm(
186 ::Realms::RealmId realmId,
187 ::std::function<void(::Realms::Stories::RealmEvent, ::Clubs::FeedItem)> onSuccessfulPostToRealm
188 );
189
190 MCAPI bool checkStoreForAvailableUpdates() const;
191
192 MCAPI void clearAllUserCache();
193
194 MCAPI void clearScreenshotsCache();
195
196 MCAPI void connectToExperience(
197 ::ExperienceConnectionData data,
198 ::std::function<void(::World::JoinServerWorldResult)> onErrorCallback
199 );
200
201 MCAPI ::std::shared_ptr<::CatalogCollection>
202 createCatalogCollection(::std::vector<::std::shared_ptr<::SearchQuery>> const& queries, int maxVisibleOffers);
203
204 MCAPI ::std::shared_ptr<::CatalogCollection>
205 createCatalogCollection(::StoreSearchQuery const& query, int maxVisibleOffers);
206
207 MCAPI ::std::vector<::EDULibraryCategory> createLibraryCategoryPage(::std::vector<::std::string> const& pages);
208
209 MCAPI ::std::shared_ptr<::LibraryCollection>
210 createLibraryCollection(::std::shared_ptr<::LibraryCollectionConfig> config);
211
212 MCAPI ::std::shared_ptr<::WorldFileDownloadManager> createLibraryWorldFileDownloadManager();
213
214 MCAPI ::std::shared_ptr<::ResourcePackFileUploadManager> createResourcePackFileUploadManager();
215
216 MCAPI ::std::shared_ptr<::WorldFileUploadManager> createWorldFileUploadManager();
217
218 MCAPI void cycleNextDebugOverlayPage();
219
220 MCAPI void cyclePreviousDebugOverlayPage();
221
222 MCAPI void dismissNewPlayerFlow();
223
224 MCAPI void fetchContentInRealmsPlus(::std::function<void()> callback);
225
226 MCAPI void fetchLibraryWorldSize(::std::shared_ptr<::LessonItem> lessonItem);
227
228 MCAPI void fireClassroomSettingUpdated(::ClassroomSetting classroomSetting, ::SettingsScreenMode settingMode) const;
229
230 MCAPI void
231 fireEventControlRemappedByPlayer(::std::string const& actionName, ::RawInputType inputType, int keyCode) const;
232
233 MCAPI void fireEventRealmDownload(
234 ::std::string const& correlationId,
235 ::std::string const& downloadStage,
236 int errorCode,
237 int realmId,
238 int fileSizeKB
239 );
240
241 MCAPI void fireEventRealmUpload(
242 ::std::string const& correlationId,
243 ::std::string const& uploadStage,
244 int errorCode,
245 int realmId,
246 int fileSizeKB,
247 bool isPack
248 );
249
250 MCAPI void fireEventUnfulfilledPurchaseFound(::PlatformOfferPurchaseDetails& unfulfilledPurchase);
251
252 MCAPI void fireLibraryButtonPressedEvent(
253 ::std::string const& productId,
254 ::std::string const& worldName,
255 ::std::string const& buttonAction
256 ) const;
257
258 MCAPI void fireRealmConnectionEventGenericLambdaCalled(
259 ::IMinecraftEventing::RealmConnectionFlow flow,
260 ::IMinecraftEventing::RealmConnectionLambda connectionLamda,
261 ::IMinecraftEventing::RealmConnectionResult result
262 );
263
264 MCAPI void fireRealmConnectionEventStart(::IMinecraftEventing::RealmConnectionFlow screen);
265
266 MCAPI void fireShareButtonPressedEvent(
267 ::std::string const& location,
268 ::EduShareUriType shareType,
269 ::EduShareMethodType methodType,
270 bool includesResource
271 ) const;
272
273 MCAPI void forcePersonaServiceSync() const;
274
275 MCAPI bool fulfillPriorPlatformOfferPurchase(
276 ::std::weak_ptr<::Purchase> purchase,
277 ::std::unique_ptr<::PlatformOfferTransactionContext> context
278 );
279
280 MCAPI bool fulfillPriorRealmsPurchase(
281 ::std::weak_ptr<::Purchase> purchase,
282 ::std::unique_ptr<::RealmsTransactionContext> context
283 );
284
285 MCAPI ::Bedrock::NotNullNonOwnerPtr<::IContentAccessibilityProvider const> getAccessibilityProvider() const;
286
287 MCFOLD ::std::shared_ptr<::FlightingService> getFlightingService() const;
288
289 MCFOLD ::LegacyWorldConverter& getLegacyWorldConverter();
290
291 MCAPI ::EDULibraryCategory* getLibraryCategory(::std::string const& name);
292
293 MCAPI ::std::shared_ptr<::World::LocalWorldList> getLocalWorldList() const;
294
295 MCAPI ::MinecoinCatalogModel& getMinecoinCatalogModel();
296
297 MCFOLD ::Bedrock::Threading::Async<bool> getNeedsOfflineAuthCode();
298
299 MCAPI ::std::string_view getNewPlayerFlowTargetRoute() const;
300
301 MCAPI ::std::shared_ptr<::Social::User> getPrimaryUser() const;
302
303 MCAPI ::std::shared_ptr<::Realms::Stories::FacetStateManager> const getRealmsStoriesFacetStateManager() const;
304
305 MCAPI ::std::shared_ptr<::Realms::RealmsWorldContext> const getRealmsWorldContext() const;
306
307 MCAPI ::SkinPackCollectionModel& getSkinPackCollection();
308
309 MCAPI ::std::shared_ptr<::SkinPickerUpsellTreatmentQuery>
310 getSkinPickerUpsellTreatmentQuery(::std::function<void(::SearchQuery const*)> callback) const;
311
312 MCAPI ::StoreCatalogItem& getStoreCatalogItemByProductId(::std::string const& productId);
313
314 MCAPI bool getStoreRequiresRestoreButton() const;
315
316 MCAPI bool getStoreShouldHideUpdateRow() const;
317
318 MCAPI bool getStoreSupportsSubscriptions() const;
319
320 MCAPI ::std::string getSunsettingText();
321
322 MCAPI bool getUnfulfilledPlatformOfferPurchase(::PlatformOfferPurchaseDetails& details);
323
324 MCAPI bool getUnfulfilledRealmsPurchase(::RealmsPurchaseDetails& details);
325
326 MCAPI int getUserCoinBalance() const;
327
328 MCAPI ::std::string getUserCoinBalanceAsString() const;
329
330 MCFOLD ::std::string const getUserDisplayName() const;
331
332 MCAPI ::WorldFileDownloadManager& getWorldFileDownloadManager();
333
334 MCAPI ::WorldSeedCatalogModel& getWorldSeedCatalogModel();
335
336 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::WorldTemplateManager> getWorldTemplateManager() const;
337
338 MCAPI bool hasDismissedNewPlayerFlow() const;
339
340 MCAPI bool hasSeenSonyTokensPopup() const;
341
342 MCAPI void instantiateTemplate(
343 ::PackManifest const& manifest,
344 ::std::function<void(::LevelSummary*, ::InstantiationResult)> callback
345 );
346
347 MCAPI bool isAbleToFetch(bool signInFailed) const;
348
349 MCAPI bool isAppStoreReady() const;
350
351 MCAPI bool isConnectedToThirdPartyServer() const;
352
353 MCFOLD bool isGamePlayTipsEnabled() const;
354
355 MCAPI bool isMarketplacePassTrialAvailable() const;
356
357 MCAPI bool isNewPlayerPathV3ABCTest() const;
358
359 MCAPI bool isPlatformServiceMultiplayerConnected() const;
360
361 MCAPI bool isPrimaryUser() const;
362
363 MCAPI bool isRealmsCachedTrialAvailable() const;
364
365 MCAPI bool isRealmsTrialOfferAvailable() const;
366
367 MCAPI bool isResourcePackOnStack(::PackIdVersion const& requiredPackId) const;
368
369 MCAPI bool isSelectedSkinInitializedWithoutTimedOut() const;
370
371 MCAPI bool isServiceMultiplayerAvailableAndConnected(::Social::MultiplayerServiceIdentifier service) const;
372
373 MCAPI bool isSidebarNavigationLayoutActive(::sidebar::navigationLayout::Type layoutType) const;
374
375 MCAPI bool isSkinPackNew(::SkinPackModel const& skinPackModel) const;
376
377 MCAPI bool isStoreDisabled() const;
378
379 MCAPI void joinRealmWorldWithRoute(
380 ::std::string const& realmId,
381 ::IMinecraftEventing::RealmConnectionFlow realmConnectionFlow
382 );
383
384 MCAPI void launchSunsettingUri();
385
386 MCAPI bool meetsClientRequirement(::RequirementCategory category, ::std::string const& requirement) const;
387
388 MCAPI void navigateToAdhocScreen();
389
390 MCAPI void navigateToApplyResourcePacksScreen(::std::function<void(::MinecraftScreenModel&)> applyPacks);
391
392 MCAPI void navigateToBundleWarningScreen(
393 ::IStoreCatalogItem const& catalogItem,
394 ::OfferCollectionComponent const& bundle,
395 ::std::function<void()> onPurchaseCallback
396 );
397
398 MCAPI void navigateToChooseRealmScreen(
399 ::std::function<void(::Realms::World)> callback,
400 ::SlotSelectedAction action,
401 ::std::function<void()> onCancelCallback
402 );
403
404 MCAPI void navigateToCoinPurchaseScreen(
405 ::std::string const& coinPurchaseScreenPageId,
406 int coinsNeeded,
407 ::std::function<void(bool, int)> callback
408 );
409
410 MCAPI void navigateToContentLogHistoryScreen();
411
412 MCAPI void navigateToCreateWorldUpsellScreen(bool firstTimeShown, ::std::string const& additionalScreenInfo);
413
414 MCAPI void navigateToEDUFetchProgressHandler(::std::shared_ptr<::PlayScreenModel> model);
415
416 MCAPI void navigateToEDUFetchServersProgressHandler(
417 ::Bedrock::NonOwnerPointer<::EDUServersScreenController> eduServersScreenController
418 );
419
420 MCAPI void navigateToEDULibraryCategoryScreen(
421 ::std::string const& title,
422 ::std::string const& icon,
423 ::std::string const& description,
424 ::std::string const& screenshotRatio,
425 int columnCount,
426 ::std::vector<::EDULibraryCategory> const& categories,
427 bool firstPage
428 );
429
430 MCAPI void navigateToEDULibraryRoot();
431
432 MCAPI void navigateToEDUPlayScreen();
433
434 MCAPI void navigateToEDUServerResolvingProgressHandler(
435 ::Social::EduDedicatedServerDetails const& details,
436 ::std::string const& passcode,
437 ::std::shared_ptr<::PlayScreenModel> model,
438 ::brstd::move_only_function<void()>& reopenPasscodeEntry
439 );
440
441 MCAPI void navigateToEDUServersScreen();
442
443 MCAPI void navigateToEDUUploadProgressHandler(
444 ::std::string const& levelId,
445 ::std::string const& levelName,
446 ::Bedrock::NonOwnerPointer<::EduCloud::IEduCloudSaveSystem> eduCloudSaveSystem,
447 ::std::optional<::CloudSaveLevelInfo> cloudSaveInfo
448 );
449
450 MCAPI void navigateToEDUWorldTemplatesScreen();
451
452 MCAPI void navigateToEDUWorldsScreen(bool fromTemplatesScreen);
453
454 MCAPI void
455 navigateToExpandedSkinPackScreen(::SkinPackModel& skinPackModel, ::SkinPackCollectionModel& skinPackCollection);
456
457 MCAPI void navigateToFeaturedWorld();
458
459 MCAPI void navigateToFileDownloadScreenAsync(
460 uint64 estimatedDiskWriteSize,
461 ::std::string const& realmID,
462 int slotIndex,
463 ::std::string const& realmName,
464 ::std::string const& realmVersion,
465 ::std::string const& realmVersionName,
466 ::std::function<void(bool)> callback
467 );
468
469 MCAPI void navigateToGammaCalibrationScreen();
470
471 MCAPI void navigateToLibraryItemScreen(::std::shared_ptr<::LibraryItem> item);
472
473 MCAPI void navigateToLibraryItemScreen(::std::string itemId);
474
475 MCAPI void navigateToLibraryScreen(::std::shared_ptr<::LibraryCollection> collection);
476
477 MCAPI void navigateToLibrarySearchScreen(
478 ::std::shared_ptr<::LibraryCollection> collection,
479 ::std::string const& libraryTitle,
480 ::std::string const& libraryIcon
481 );
482
483 MCAPI void navigateToLibraryTagScreen(
484 ::std::shared_ptr<::LibraryCollection> collection,
485 ::std::string const& libraryTitle,
486 ::std::string const& libraryIcon,
487 ::std::string const& libraryPageDescription
488 );
489
490 MCAPI void navigateToLibraryWorldScreen(
491 ::std::shared_ptr<::LibraryCollection> collection,
492 ::std::string const& libraryTitle,
493 ::std::string const& libraryIcon,
494 ::std::string const& libraryPageDescription,
495 ::std::string const& categoryTitle
496 );
497
498 MCAPI void navigateToLocalWorldPickerScreen(
499 ::std::string const& realmID,
500 int slotIndex,
501 ::std::function<void(::UploadState, ::Realms::World)> callback
502 );
503
504 MCAPI void navigateToMakeInfiniteScreen(::LevelSummary const& editedLevel, ::StorageVersion storageVersion);
505
506 MCAPI void navigateToManifestValidationScreen(
507 ::ResourceLocation const& resourceLocation,
508 ::std::shared_ptr<::PackContentItem const> const& contentItem
509 );
510
511 MCAPI void navigateToMarketplacePassPDPScreen(
512 ::MarketplacePassTabIndex tabIndex,
513 ::sidebar::navigationLayout::Type sidebarLayoutType
514 );
515
516 MCAPI void navigateToMarketplacePassPDPViewAllPacksScreen();
517
518 MCAPI void navigateToMarketplacePassPurchaseAmazonDeviceWarningScreen();
519
520 MCAPI void navigateToMarketplacePassPurchaseWarningScreen();
521
522 MCAPI void navigateToMarketplacePassUpsellScreen();
523
524 MCAPI void navigateToMarketplacePassWelcomeScreen();
525
526 MCAPI void navigateToOreUIChooseRealmSubscriptionScreen();
527
528 MCAPI void navigateToOreUIChooseSlotScreen(::std::string const& realmId);
529
530 MCAPI void navigateToOreUIRealmsCreatePreviewWithOnlyOneSubscriptionScreen();
531
532 MCAPI void navigateToPackSettingsScreen(::PackSettingsInfo packSettingsInfo);
533
534 MCAPI void navigateToPlayScreen(::PlayScreenDefaultTab tab);
535
536 MCAPI void navigateToPromotionAction(::ExperiencePromotion const& promotion);
537
538 MCAPI void navigateToPurchaseOfferScreen(::IStoreCatalogItem const& item, ::StoreNavigationOrigin origin, bool);
539
540 MCAPI void navigateToPurchaseOfferScreen(
541 ::std::string const& productId,
542 ::StoreNavigationOrigin origin,
543 ::std::string const&,
544 bool
545 );
546
547 MCAPI void
548 navigateToPurchaseOfferScreen(::mce::UUID const& uuid, ::StoreNavigationOrigin origin, ::std::string const&, bool);
549
550 MCAPI void
551 navigateToRealmsAllowListScreen(::Realms::World const& world, ::std::function<void()> followUpActionAfterCreation);
552
553 MCAPI void navigateToRealmsCreateScreen(::RealmsCreateParams const& createParams);
554
555 MCAPI bool navigateToRealmsOffers(::StoreDataDrivenScreenParams const& params);
556
557 MCAPI void navigateToRealmsPDPViewAllPacksScreen();
558
559 MCAPI void navigateToRealmsPendingInvitesScreen(bool hasPendingInvites);
560
561 MCAPI void navigateToRealmsPlusPurchaseWarningScreen(::std::function<void()> callback);
562
563 MCAPI void navigateToRealmsWarningScreen();
564
565 MCAPI void navigateToRealmsWorldProgressScreen(
566 ::std::string const& uniqueEventName,
567 ::std::unique_ptr<::ProgressHandler> connectHandler,
568 ::std::unique_ptr<::ProgressHandler> progressHandler,
569 ::std::function<void()> onlineSafetyCancelledCallback
570 );
571
572 MCAPI void navigateToStorageSpaceWarningScreen(::std::string const& message);
573
574 MCAPI void navigateToStoreInventoryScreen();
575
576 MCAPI void navigateToStoreSearchScreen(::std::string const& searchText, ::std::string const& mPackTypeFilter);
577
578 MCAPI void navigateToStoreSearchScreen(
579 ::LinksToStyle const& linksToStyle,
580 ::std::string const& searchText,
581 ::std::string const& packTypeFilter
582 );
583
584 MCAPI void navigateToSubmitFeedbackScreen(::std::string const& itemId);
585
586 MCAPI void navigateToSunsettingScreen(::std::string title);
587
588 MCAPI void navigateToUGCViewerScreen(
589 ::std::function<void(::std::string const&, ::std::string const&, ::Core::Path const&)> closeCallback
590 );
591
592 MCAPI void navigateToUploadPackFileProgressScreen(
593 ::std::string const& realmID,
594 ::Core::Path const& path,
595 int slotIndex,
596 bool archiveNeeded,
597 ::std::function<void(::UploadState, ::Realms::World)> uploadPackCallback
598 );
599
600 MCAPI void
601 navigateToWorldConversionCompleteScreen(::std::string const& levelId, ::std::function<void()> cancelCallback);
602
603 MCAPI ::std::unique_ptr<::DlcUIWrapper> newDlcUIWrapper(::MainMenuScreenController& controller);
604
605 MCAPI void performPlayerSafetyScanRequest(
606 ::std::string const& feedback,
607 ::std::function<void(::Bedrock::Http::Status const&, bool)> callback
608 );
609
610 MCAPI bool prepareAppStoreForPurchases(::std::function<void(bool)> callback);
611
612 MCAPI void
613 purchaseMarketplacePass(::std::string const& productSku, ::std::unique_ptr<::TransactionContext>&& context);
614
615 MCAPI bool purchasePlatformOffer(
616 ::PlatformOfferModel const& platformOfferModel,
617 ::std::unique_ptr<::TransactionContext>&& context,
618 ::PurchasePath path
619 );
620
621 MCAPI void quickPlay();
622
623 MCAPI void redeemRealmsCatalogOffer(::std::string const& productId, ::std::function<void(bool)> outerCallback);
624
625 MCAPI void refreshUserInventory() const;
626
627 MCAPI ::Bedrock::PubSub::Subscription
628 registerPrimaryUserSignInSubscriber(::std::function<void(uint, ::Social::IdentityType)> listener);
629
630 MCFOLD ::Bedrock::Threading::Async<bool> requestOfflineAuthCode();
631
632 MCAPI void setDeepLinkListenerMainMenuParameters(::std::function<void(::DownloadError const&)> onDownloadError);
633
634 MCAPI void setHasSeenSonyTokenPopup(bool newValue);
635
636 MCAPI void setPersonaLegacySlotSkin(::SkinHandle const& skin) const;
637
638 MCAPI void setStoreCatalogItemViewed(::IStoreCatalogItem const& item) const;
639
640 MCAPI void setStoreCatalogItemViewed(::std::string const& productId) const;
641
642 MCAPI void showLoginAnnouncementIfAvailable();
643
644 MCAPI void showMarketplaceAnnouncementIfAvailable();
645
646 MCAPI void submitReviewFor(::std::string const& productId, int rating, ::std::function<void()> successCallback);
647
648 MCAPI ::Bedrock::Threading::Async<::SubmitItemRatingResult>
649 submitReviewForEntitlementManager(::std::string const& productId, int rating);
650
651 MCAPI bool supportsFliteTTS() const;
652
653 MCAPI bool supportsXboxLiveAchievements() const;
654
655 MCAPI void uploadLocalWorldFile(
656 ::std::string const& realmID,
657 ::std::string const& worldID,
658 int slotIndex,
659 ::std::function<void(::UploadState, ::Realms::World)> callback
660 );
661 // NOLINTEND
662
663public:
664 // constructor thunks
665 // NOLINTBEGIN
666 MCAPI void* $ctor(::MinecraftScreenModelContext context);
667 // NOLINTEND
668
669public:
670 // destructor thunk
671 // NOLINTBEGIN
672 MCAPI void $dtor();
673 // NOLINTEND
674
675public:
676 // virtual function thunks
677 // NOLINTBEGIN
678 MCAPI void $navigateToDlcProgressScreen(
679 ::std::vector<::DlcId> const& dlcIds,
680 ::std::function<void(bool, bool)> callback,
681 bool showCloseButton,
682 bool processingUpdates,
683 bool requireCancelToExit
684 );
685
686 MCAPI ::std::string const& $getLastPoppedScreenName() const;
687
688 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::StoreCatalogRepository> $getStoreCatalogRepository() const;
689
690 MCFOLD bool $doesPlatformSupportRealms() const;
691
692 MCFOLD bool $isSelectedSkinInitialized() const;
693
694 MCAPI void $repopulateWorldTemplates();
695
696 MCAPI ::WorldTemplateInfo const* $findWorldTemplateByUUID(::std::vector<::mce::UUID> const& packUUIDs) const;
697
698 MCAPI bool $isPackIdInRealmsPlus(::std::string const& packId) const;
699
700 MCFOLD float $getStoreNetworkFailureTimeout() const;
701
702 MCFOLD bool $isInGame() const;
703
704 MCFOLD ::IMinecraftEventing& $getMinecraftEventing() const;
705
706 MCAPI bool $isAdhocEnabled() const;
707
708 MCAPI bool $isNetworkEnabled(::NetworkFilter withFilter) const;
709
710 MCFOLD bool $platformTTSExists() const;
711 // NOLINTEND
712
713public:
714 // vftables
715 // NOLINTBEGIN
716 MCNAPI static void** $vftableForIMinecraftScreenModel();
717
718 MCNAPI static void** $vftable();
719
720 MCNAPI static void** $vftableForIDlcBatcher();
721 // NOLINTEND
722};
Definition AnnouncementSurface.h:5
Definition Status.h:7
Definition Subscription.h:10
Definition CatalogCollection.h:5
Definition CloudSaveLevelInfo.h:10
Definition Path.h:12
Definition DlcChecker.h:5
Definition DlcId.h:5
Definition DlcUIWrapper.h:5
Definition EDUServersScreenController.h:5
Definition FlightingService.h:5
Definition IContentAccessibilityProvider.h:13
Definition IMainMenuScreenModel.h:5
Definition IMinecraftEventing.h:138
Definition LegacyWorldConverter.h:5
Definition LessonItem.h:5
Definition LibraryCollectionConfig.h:5
Definition LibraryCollection.h:5
Definition LibraryItem.h:5
Definition MainMenuScreenController.h:5
Definition MainMenuScreenModel.h:5
static MCAPI void ** $vftable()
static MCAPI void ** $vftableForIMinecraftScreenModel()
static MCAPI void ** $vftableForIDlcBatcher()
Definition MinecoinCatalogModel.h:5
Definition MinecraftScreenModel.h:5
Definition PackManifest.h:38
Definition PlatformOfferModel.h:5
Definition PlayScreenModel.h:5
Definition ProgressHandler.h:5
Definition RealmsCreateParams.h:5
Definition RealmsWorldContext.h:7
Definition FacetStateManager.h:7
Definition RealmEvent.h:7
Definition ResourceLocation.h:15
Definition ResourcePackFileUploadManager.h:28
Definition ResourcePackPathCache.h:15
Definition SearchQuery.h:5
Definition SkinHandle.h:5
Definition SkinPackCollectionModel.h:5
Definition SkinPackModel.h:5
Definition User.h:7
Definition WorldFileDownloadManager.h:5
Definition WorldFileUploadManager.h:5
Definition WorldSeedCatalogModel.h:5
Definition WorldTemplateManager.h:22
Definition LocalWorldList.h:7
Definition UUID.h:7
Definition FeedItem.h:7
Definition EDULibraryCategory.h:5
Definition IEduCloudSaveSystem.h:7
Definition ExperienceConnectionData.h:5
Definition ExperiencePromotion.h:5
Definition LevelSummary.h:30
Definition MinecraftScreenModelContext.h:5
Definition PackContentItem.h:5
Definition PackIdVersion.h:10
Definition PackSettingsInfo.h:5
Definition RealmId.h:7
Definition World.h:7
Definition EduDedicatedServerDetails.h:15
Definition StoreDataDrivenScreenParams.h:5
Definition WorldTemplateInfo.h:16