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 void openCurrentPage(::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController> screenController) const;
55 // NOLINTEND
56
57 public:
58 // vftables
59 // NOLINTBEGIN
60 MCNAPI static void** $vftable();
61 // NOLINTEND
62 };
63
64public:
65 // member variables
66 // NOLINTBEGIN
67 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController>> mScreenController;
68 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::PersonaScreenModel>> mPersonaScreenModel;
69 ::ll::TypedStorage<8, 8, ::LinksToStyle const&> mClassicSkinLinksToStyle;
70 ::ll::TypedStorage<8, 8, ::LinksToStyle const&> mPersonaLinksToStyle;
71 ::ll::TypedStorage<8, 40, ::ProfileEntryPromptManager> mEntryPromptManager;
72 ::ll::TypedStorage<4, 8, ::glm::ivec2> mGridParams;
73 ::ll::TypedStorage<4, 4, uint> mPreviewIndex;
74 ::ll::TypedStorage<8, 2544, ::Random> mRandom;
75 ::ll::TypedStorage<4, 4, ::CharacterSelectorModel::AppearanceCreationType> mAppearanceCreationType;
76 ::ll::TypedStorage<4, 4, ::CharacterSelectorVisibility> mCastModalVisibility;
77 ::ll::TypedStorage<8, 16, ::CharacterSelectorModel::CharacterSelectorFTUEModel> mFTUEData;
78 ::ll::TypedStorage<8, 24, ::std::vector<::CharacterSelectorData>> mSectionContent;
79 ::ll::TypedStorage<1, 1, bool> mHasSeenLatestDefaultCharacterList;
80 ::ll::TypedStorage<1, 1, bool> mSelectedCharacterWasNotReady;
81 ::ll::TypedStorage<1, 1, bool> mFirstLoading;
82 // NOLINTEND
83
84public:
85 // prevent constructor by default
86 CharacterSelectorModel& operator=(CharacterSelectorModel const&);
87 CharacterSelectorModel(CharacterSelectorModel const&);
88 CharacterSelectorModel();
89
90public:
91 // virtual functions
92 // NOLINTBEGIN
93 virtual ~CharacterSelectorModel() /*override*/;
94 // NOLINTEND
95
96public:
97 // member functions
98 // NOLINTBEGIN
99 MCAPI CharacterSelectorModel(
100 ::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController> screenController,
101 ::Bedrock::NotNullNonOwnerPtr<::PersonaScreenModel> screenModel,
102 ::LinksToStyle const& classicSkinLinksToStyle,
103 ::LinksToStyle const& personaLinksToStyle
104 );
105
106 MCAPI void _closeCreatePersonaPopup();
107
108 MCAPI void _loadContentFromSkins();
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 ::std::string getPersonaConfirmText() const;
123
124 MCAPI void launchDifferenceInformationPopup();
125
126 MCAPI void openCharacterSelectModal(::CharacterSelectorVisibility previewMode);
127
128 MCAPI void openDefaultSelector(::StoreDataDrivenScreenController& controller);
129
130 MCAPI void tick(::ui::DirtyFlag& dirtyFlags);
131 // NOLINTEND
132
133public:
134 // static functions
135 // NOLINTBEGIN
136 MCAPI static void closeDifferencesDialog(::StoreDataDrivenScreenController& controller);
137 // NOLINTEND
138
139public:
140 // constructor thunks
141 // NOLINTBEGIN
142 MCAPI void* $ctor(
143 ::Bedrock::NotNullNonOwnerPtr<::MinecraftScreenController> screenController,
144 ::Bedrock::NotNullNonOwnerPtr<::PersonaScreenModel> screenModel,
145 ::LinksToStyle const& classicSkinLinksToStyle,
146 ::LinksToStyle const& personaLinksToStyle
147 );
148 // NOLINTEND
149
150public:
151 // destructor thunk
152 // NOLINTBEGIN
153 MCAPI void $dtor();
154 // NOLINTEND
155
156public:
157 // vftables
158 // NOLINTBEGIN
159 MCNAPI static void** $vftable();
160 // NOLINTEND
161};
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