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;
21// clang-format on
22
24public:
25 // CharacterSelectorModel inner types declare
26 // clang-format off
28 // clang-format on
29
30 // CharacterSelectorModel inner types define
31 enum class AppearanceCreationType : int {
32 Persona = 0,
33 ClassicSkin = 1,
34 Count = 2,
35 };
36
38 public:
39 // member variables
40 // NOLINTBEGIN
41 ::ll::TypedStorage<4, 4, int> mCurrentPage;
42 ::ll::TypedStorage<4, 4, int> mSubPage;
43 // NOLINTEND
44
45 public:
46 // virtual functions
47 // NOLINTBEGIN
48 virtual ~CharacterSelectorFTUEModel() = default;
49 // NOLINTEND
50
51 public:
52 // member functions
53 // NOLINTBEGIN
54 MCAPI bool nextPage(::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController> screenController);
55
56 MCAPI void openCurrentPage(::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController> screenController) const;
57
58 MCAPI bool prevPage(::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController> screenController);
59 // NOLINTEND
60 };
61
62public:
63 // member variables
64 // NOLINTBEGIN
65 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController>> mScreenController;
66 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::PersonaScreenModel>> mPersonaScreenModel;
67 ::ll::TypedStorage<8, 8, ::LinksToStyle const&> mClassicSkinLinksToStyle;
68 ::ll::TypedStorage<8, 8, ::LinksToStyle const&> mPersonaLinksToStyle;
69 ::ll::TypedStorage<8, 40, ::ProfileEntryPromptManager> mEntryPromptManager;
70 ::ll::TypedStorage<4, 8, ::glm::ivec2> mGridParams;
71 ::ll::TypedStorage<4, 4, uint> mPreviewIndex;
72 ::ll::TypedStorage<8, 2560, ::Random> mRandom;
73 ::ll::TypedStorage<4, 4, ::CharacterSelectorModel::AppearanceCreationType> mAppearanceCreationType;
74 ::ll::TypedStorage<4, 4, ::CharacterSelectorVisibility> mCastModalVisibility;
75 ::ll::TypedStorage<8, 16, ::CharacterSelectorModel::CharacterSelectorFTUEModel> mFTUEData;
76 ::ll::TypedStorage<8, 24, ::std::vector<::CharacterSelectorData>> mSectionContent;
77 ::ll::TypedStorage<1, 1, bool> mHasSeenLatestDefaultCharacterList;
78 ::ll::TypedStorage<1, 1, bool> mSelectedCharacterWasNotReady;
79 ::ll::TypedStorage<1, 1, bool> mFirstLoading;
80 // NOLINTEND
81
82public:
83 // prevent constructor by default
84 CharacterSelectorModel& operator=(CharacterSelectorModel const&);
85 CharacterSelectorModel(CharacterSelectorModel const&);
86 CharacterSelectorModel();
87
88public:
89 // virtual functions
90 // NOLINTBEGIN
91 virtual ~CharacterSelectorModel() /*override*/ = default;
92 // NOLINTEND
93
94public:
95 // member functions
96 // NOLINTBEGIN
97 MCAPI CharacterSelectorModel(
98 ::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController> screenController,
99 ::Bedrock::NotNullNonOwnerPtr<::PersonaScreenModel> screenModel,
100 ::LinksToStyle const& classicSkinLinksToStyle,
101 ::LinksToStyle const& personaLinksToStyle
102 );
103
104 MCAPI void _closeCreatePersonaPopup();
105
106 MCAPI void _loadContentFromSkins();
107
108 MCAPI void _setUpBeforeCharacterEditorScreen();
109
110 MCAPI void bindPreviewSkin(::UIPropertyBag& bag);
111
112 MCAPI void castBack(::StoreDataDrivenScreenController& controller);
113
114 MCAPI void castLeft(::StoreDataDrivenScreenController& controller);
115
116 MCAPI void castRight(::StoreDataDrivenScreenController& controller);
117
118 MCAPI void closeCharacterSelectModal();
119
120 MCAPI void closeDialog(::StoreDataDrivenScreenController& controller);
121
122 MCAPI void createSelectedPersona();
123
124 MCAPI ::std::string getAppearanceName() const;
125
126 MCAPI ::std::string getPersonaConfirmText() const;
127
128 MCAPI ::std::string getPreviewImageFilePath(int index) const;
129
130 MCAPI bool isSelectedCharacterReady() const;
131
132 MCAPI void launchDifferenceInformationPopup();
133
134 MCAPI void openCharacterSelectModal(::CharacterSelectorVisibility previewMode);
135
136 MCAPI void openDefaultSelector(::StoreDataDrivenScreenController& controller);
137
138 MCAPI void tick(::ui::DirtyFlag& dirtyFlags);
139 // NOLINTEND
140
141public:
142 // static functions
143 // NOLINTBEGIN
144 MCAPI static void closeDifferencesDialog(::StoreDataDrivenScreenController& controller);
145 // NOLINTEND
146
147public:
148 // constructor thunks
149 // NOLINTBEGIN
150 MCAPI void* $ctor(
151 ::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController> screenController,
152 ::Bedrock::NotNullNonOwnerPtr<::PersonaScreenModel> screenModel,
153 ::LinksToStyle const& classicSkinLinksToStyle,
154 ::LinksToStyle const& personaLinksToStyle
155 );
156 // NOLINTEND
157};
Definition EnableNonOwnerReferences.h:7
Definition CharacterSelectorModel.h:15
Definition CharacterSelectorModel.h:5
Definition MinecraftScreenController.h:5
Definition PersonaScreenModel.h:5
Definition StoreDataDrivenScreenController.h:5
Definition UIPropertyBag.h:5
Definition CharacterSelectorData.h:5