3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/screens/managers/ProfileEntryPromptManager.h"
8#include "mc/client/gui/screens/models/CharacterSelectorVisibility.h"
9#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
10#include "mc/deps/core/utility/NonOwnerPointer.h"
11#include "mc/util/Random.h"
32 enum class AppearanceCreationType :
int {
42 ::ll::TypedStorage<4, 4, int> mCurrentPage;
43 ::ll::TypedStorage<4, 4, int> mSubPage;
49 virtual ~CharacterSelectorFTUEModel() =
default;
55 MCAPI
bool nextPage(::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController> screenController);
57 MCAPI
void openCurrentPage(::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController> screenController)
const;
59 MCAPI
bool prevPage(::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController> screenController);
72 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController>> mScreenController;
73 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::PersonaScreenModel>> mPersonaScreenModel;
74 ::ll::TypedStorage<8, 8, ::LinksToStyle const&> mClassicSkinLinksToStyle;
75 ::ll::TypedStorage<8, 8, ::LinksToStyle const&> mPersonaLinksToStyle;
76 ::ll::TypedStorage<8, 40, ::ProfileEntryPromptManager> mEntryPromptManager;
77 ::ll::TypedStorage<4, 8, ::glm::ivec2> mGridParams;
78 ::ll::TypedStorage<4, 4, uint> mPreviewIndex;
79 ::ll::TypedStorage<8, 2544, ::Random> mRandom;
80 ::ll::TypedStorage<4, 4, ::CharacterSelectorModel::AppearanceCreationType> mAppearanceCreationType;
81 ::ll::TypedStorage<4, 4, ::CharacterSelectorVisibility> mCastModalVisibility;
82 ::ll::TypedStorage<8, 16, ::CharacterSelectorModel::CharacterSelectorFTUEModel> mFTUEData;
83 ::ll::TypedStorage<8, 24, ::std::vector<::CharacterSelectorData>> mSectionContent;
84 ::ll::TypedStorage<1, 1, bool> mHasSeenLatestDefaultCharacterList;
85 ::ll::TypedStorage<1, 1, bool> mSelectedCharacterWasNotReady;
86 ::ll::TypedStorage<1, 1, bool> mFirstLoading;
91 CharacterSelectorModel& operator=(CharacterSelectorModel
const&);
92 CharacterSelectorModel(CharacterSelectorModel
const&);
93 CharacterSelectorModel();
98 virtual ~CharacterSelectorModel() ;
104 MCAPI CharacterSelectorModel(
105 ::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController> screenController,
106 ::Bedrock::NotNullNonOwnerPtr<::PersonaScreenModel> screenModel,
107 ::LinksToStyle
const& classicSkinLinksToStyle,
108 ::LinksToStyle
const& personaLinksToStyle
111 MCAPI
void _closeCreatePersonaPopup();
113 MCAPI
void _loadContentFromSkins();
115 MCAPI
void _setUpBeforeCharacterEditorScreen();
125 MCAPI
void castSelect();
127 MCAPI
void closeCharacterSelectModal();
131 MCAPI
void closeEditPersona();
133 MCAPI
void createSelectedPersona();
135 MCAPI ::std::string getAppearanceName()
const;
137 MCAPI ::glm::ivec2 getGridParams()
const;
139 MCAPI
bool getIsFirstLoading()
const;
141 MCAPI ::std::string getPersonaConfirmText()
const;
143 MCAPI ::std::string getPreviewImageFilePath(
int index)
const;
145 MCAPI
bool getTypeToggleState(
int index)
const;
147 MCAPI
bool isCastCharacterScreenModalOpen()
const;
149 MCAPI
bool isPreviewVisible(
int index)
const;
151 MCAPI
bool isSectionVisible(
int index)
const;
153 MCAPI
bool isSelectedCharacterReady()
const;
155 MCAPI
void launchDifferenceInformationPopup();
159 MCAPI
void openCharacterSelectModal(::CharacterSelectorVisibility previewMode);
163 MCAPI
void tick(::ui::DirtyFlag& dirtyFlags);
178 ::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController> screenController,
179 ::Bedrock::NotNullNonOwnerPtr<::PersonaScreenModel> screenModel,
180 ::LinksToStyle
const& classicSkinLinksToStyle,
181 ::LinksToStyle
const& personaLinksToStyle
Definition EnableNonOwnerReferences.h:7
Definition CharacterSelectorModel.h:15
static MCAPI void ** $vftable()
Definition CharacterSelectorModel.h:5
static MCAPI void ** $vftable()
Definition MinecraftScreenController.h:5
Definition PersonaScreenModel.h:5
Definition StoreDataDrivenScreenController.h:5
Definition UIPropertyBag.h:5
Definition CharacterSelectorData.h:5
Definition ToggleChangeEventData.h:5