LeviLamina
Loading...
Searching...
No Matches
CharacterSelectorModel.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
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"
12
13// auto generated forward declare list
14// clang-format off
18class UIPropertyBag;
20struct LinksToStyle;
22// clang-format on
23
25public:
26 // CharacterSelectorModel inner types declare
27 // clang-format off
29 // clang-format on
30
31 // CharacterSelectorModel inner types define
32 enum class AppearanceCreationType : int {
33 Persona = 0,
34 ClassicSkin = 1,
35 Count = 2,
36 };
37
39 public:
40 // member variables
41 // NOLINTBEGIN
42 ::ll::TypedStorage<4, 4, int> mCurrentPage;
43 ::ll::TypedStorage<4, 4, int> mSubPage;
44 // NOLINTEND
45
46 public:
47 // virtual functions
48 // NOLINTBEGIN
49 virtual ~CharacterSelectorFTUEModel() = default;
50 // NOLINTEND
51
52 public:
53 // member functions
54 // NOLINTBEGIN
55 MCAPI bool nextPage(::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController> screenController);
56
57 MCAPI void openCurrentPage(::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController> screenController) const;
58
59 MCAPI bool prevPage(::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController> screenController);
60 // NOLINTEND
61
62 public:
63 // vftables
64 // NOLINTBEGIN
65 MCNAPI static void** $vftable();
66 // NOLINTEND
67 };
68
69public:
70 // member variables
71 // NOLINTBEGIN
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;
87 // NOLINTEND
88
89public:
90 // prevent constructor by default
91 CharacterSelectorModel& operator=(CharacterSelectorModel const&);
92 CharacterSelectorModel(CharacterSelectorModel const&);
93 CharacterSelectorModel();
94
95public:
96 // virtual functions
97 // NOLINTBEGIN
98 virtual ~CharacterSelectorModel() /*override*/;
99 // NOLINTEND
100
101public:
102 // member functions
103 // NOLINTBEGIN
104 MCAPI CharacterSelectorModel(
105 ::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController> screenController,
106 ::Bedrock::NotNullNonOwnerPtr<::PersonaScreenModel> screenModel,
107 ::LinksToStyle const& classicSkinLinksToStyle,
108 ::LinksToStyle const& personaLinksToStyle
109 );
110
111 MCAPI void _closeCreatePersonaPopup();
112
113 MCAPI void _loadContentFromSkins();
114
115 MCAPI void _setUpBeforeCharacterEditorScreen();
116
117 MCAPI void bindPreviewSkin(::UIPropertyBag& bag);
118
119 MCAPI void castBack(::StoreDataDrivenScreenController& controller);
120
121 MCAPI void castLeft(::StoreDataDrivenScreenController& controller);
122
123 MCAPI void castRight(::StoreDataDrivenScreenController& controller);
124
125 MCAPI void castSelect();
126
127 MCAPI void closeCharacterSelectModal();
128
129 MCAPI void closeDialog(::StoreDataDrivenScreenController& controller);
130
131 MCAPI void closeEditPersona();
132
133 MCAPI void createSelectedPersona();
134
135 MCAPI ::std::string getAppearanceName() const;
136
137 MCAPI ::glm::ivec2 getGridParams() const;
138
139 MCAPI bool getIsFirstLoading() const;
140
141 MCAPI ::std::string getPersonaConfirmText() const;
142
143 MCAPI ::std::string getPreviewImageFilePath(int index) const;
144
145 MCAPI bool getTypeToggleState(int index) const;
146
147 MCAPI bool isCastCharacterScreenModalOpen() const;
148
149 MCAPI bool isPreviewVisible(int index) const;
150
151 MCAPI bool isSectionVisible(int index) const;
152
153 MCAPI bool isSelectedCharacterReady() const;
154
155 MCAPI void launchDifferenceInformationPopup();
156
157 MCAPI void loadSkinBasedOnSelection(::UIPropertyBag const& bag);
158
159 MCAPI void openCharacterSelectModal(::CharacterSelectorVisibility previewMode);
160
161 MCAPI void openDefaultSelector(::StoreDataDrivenScreenController& controller);
162
163 MCAPI void tick(::ui::DirtyFlag& dirtyFlags);
164
165 MCAPI bool toggleCreatePersonaChoice(::ToggleChangeEventData const& toggleData);
166 // NOLINTEND
167
168public:
169 // static functions
170 // NOLINTBEGIN
171 MCAPI static void closeDifferencesDialog(::StoreDataDrivenScreenController& controller);
172 // NOLINTEND
173
174public:
175 // constructor thunks
176 // NOLINTBEGIN
177 MCAPI void* $ctor(
178 ::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController> screenController,
179 ::Bedrock::NotNullNonOwnerPtr<::PersonaScreenModel> screenModel,
180 ::LinksToStyle const& classicSkinLinksToStyle,
181 ::LinksToStyle const& personaLinksToStyle
182 );
183 // NOLINTEND
184
185public:
186 // destructor thunk
187 // NOLINTBEGIN
188 MCAPI void $dtor();
189 // NOLINTEND
190
191public:
192 // vftables
193 // NOLINTBEGIN
194 MCNAPI static void** $vftable();
195 // NOLINTEND
196};
Definition EnableNonOwnerReferences.h:7
Definition CharacterSelectorModel.h:15
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