3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/screens/controllers/MainMenuScreenController.h"
8#include "mc/client/gui/screens/controllers/ScreenExitBehavior.h"
9#include "mc/client/network/realms/World.h"
10#include "mc/client/store/iap/RealmsOfferPeriod.h"
11#include "mc/client/store/iap/RealmsOfferTier.h"
12#include "mc/client/store/iap/RealmsOfferType.h"
13#include "mc/client/store/iap/RealmsPurchaseIntent.h"
14#include "mc/deps/core/utility/NonOwnerPointer.h"
18class IEntitlementManager;
23namespace Json {
class Value; }
29 enum class State :
int {
39 ::ll::TypedStorage<1, 1, bool> mDirty;
40 ::ll::TypedStorage<1, 1, bool> mCheckedTOS;
41 ::ll::TypedStorage<1, 1, bool> mIsValidRealmName;
42 ::ll::TypedStorage<1, 1, bool> mCheckUnfulfilledPurchase;
43 ::ll::TypedStorage<1, 1, bool> mOverridePurchaseIntent;
44 ::ll::TypedStorage<1, 1, bool> mPurchaseInProgress;
45 ::ll::TypedStorage<8, 32, ::std::string> mRealmsPurchaseCorrelationId;
46 ::ll::TypedStorage<1, 1, bool const> mIsSubController;
47 ::ll::TypedStorage<4, 4, ::RealmsPurchaseIntent const> mPurchaseIntent;
48 ::ll::TypedStorage<8, 32, ::std::string> mWorldName;
49 ::ll::TypedStorage<8, 32, ::std::string> mSubscriptionId;
50 ::ll::TypedStorage<4, 4, ::RealmsOfferType const> mOfferType;
51 ::ll::TypedStorage<4, 4, ::RealmsOfferPeriod> mOfferPeriod;
52 ::ll::TypedStorage<4, 4, ::RealmsOfferTier> mOfferTier;
53 ::ll::TypedStorage<1, 1, bool> mPurchaseDisabledDueToStoreVersion;
54 ::ll::TypedStorage<1, 1, bool const> mTrialAvailable;
55 ::ll::TypedStorage<1, 1, bool const> mHasClub;
56 ::ll::TypedStorage<1, 1, bool const> mIsFromRealmsPDP;
57 ::ll::TypedStorage<8, 64, ::std::function<void()>> mActionAfterCreate;
58 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager>> mEntitlementManager;
59 ::ll::TypedStorage<8, 720, ::Realms::World> mNewWorld;
60 ::ll::TypedStorage<8, 64, ::std::function<void(::Realms::World&)>> mRealmCreatedCallback;
65 RealmsCreateScreenController();
70 virtual ~RealmsCreateScreenController() =
default;
72 virtual void onCreation() ;
74 virtual void onOpen() ;
76 virtual void onLeave() ;
78 virtual void addStaticScreenVars(::Json::Value& globalVars) ;
80 virtual ::ui::DirtyFlag tick() ;
87 ::std::shared_ptr<::MainMenuScreenModel> model,
88 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager,
91 ::ScreenExitBehavior exitBehavior
117 ::std::shared_ptr<::MainMenuScreenModel> model,
118 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager,
120 bool isSubController,
121 ::ScreenExitBehavior exitBehavior
Definition MainMenuScreenController.h:5
Definition MainMenuScreenModel.h:5
Definition RealmsCreateParams.h:5
Definition RealmsCreateScreenController.h:5
MCAPI void _verifyAppStoreReady(::std::function< void()> readyCallback)
MCAPI void _errorDialogFailedConditions()
MCAPI void * $ctor(::std::shared_ptr<::MainMenuScreenModel > model, ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager > entitlementManager, ::RealmsCreateParams const &createParams, bool isSubController, ::ScreenExitBehavior exitBehavior)
MCAPI void $addStaticScreenVars(::Json::Value &globalVars)
MCAPI void _fulfillPriorRealmPurchase(::std::weak_ptr<::Purchase > purchase)
MCAPI void _errorDialogCreateRealmFail()
MCAPI void _openPurchaseInProgress()
MCAPI void _checkUnfulfilledPurchase()
MCAPI void _promptForIntentMismatchOverride(::std::string const &contentId)
MCAPI void _errorDialogInvalidName(::std::string realmName, bool genericError)
MCAPI RealmsCreateScreenController(::std::shared_ptr<::MainMenuScreenModel > model, ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager > entitlementManager, ::RealmsCreateParams const &createParams, bool isSubController, ::ScreenExitBehavior exitBehavior)
MCAPI::ProductSku const & _getProductSku() const
MCAPI::ui::DirtyFlag $tick()