LeviLamina
Loading...
Searching...
No Matches
PersonaPiece.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/resources/persona/PersonaColorOption.h"
7#include "mc/world/actor/player/persona/BodySize.h"
8#include "mc/world/actor/player/persona/PieceType.h"
9
10// auto generated forward declare list
11// clang-format off
12class Pack;
13class TintMapColor;
14struct PackIdVersion;
16namespace Json { class Value; }
17namespace mce { class UUID; }
18// clang-format on
19
21public:
22 // PersonaPiece inner types declare
23 // clang-format off
24 struct FilePaths;
25 // clang-format on
26
27 // PersonaPiece inner types define
28 struct FilePaths {
29 public:
30 // member variables
31 // NOLINTBEGIN
36 // NOLINTEND
37
38 public:
39 // prevent constructor by default
40 FilePaths& operator=(FilePaths const&);
41 FilePaths(FilePaths const&);
42 FilePaths();
43 };
44
45public:
46 // member variables
47 // NOLINTBEGIN
70 // NOLINTEND
71
72#ifdef LL_PLAT_S
73public:
74 // prevent constructor by default
75 PersonaPiece& operator=(PersonaPiece const&);
77
78#else // LL_PLAT_C
79public:
80 // prevent constructor by default
81 PersonaPiece& operator=(PersonaPiece const&);
82
83#endif
84public:
85 // member functions
86 // NOLINTBEGIN
87 MCNAPI PersonaPiece();
88
89#ifdef LL_PLAT_C
91
92 MCNAPI PersonaPiece(::PersonaPiece const&);
93
94 MCNAPI PersonaPiece(
95 ::std::string const& pieceId,
96 ::PackIdVersion const& packIdVersion,
97 ::persona::PieceType pieceTypeId,
98 bool platformLocked,
99 bool titleLocked
100 );
101
102 MCNAPI void _initSideInfo();
103
104 MCNAPI bool allowsTintOverride() const;
105
106 MCNAPI bool canBeSidePiece() const;
107
108 MCNAPI ::PersonaAnimationDefinition const& getAnimation(int index) const;
109
110 MCNAPI ::persona::BodySize::Type const& getBodyVariant() const;
111
112 MCNAPI ::std::vector<::persona::PersonaColorOption> const& getColorSwatches() const;
113
114 MCNAPI ::Json::Value const& getGeometryFileJson() const;
115
116 MCNAPI ::std::string const& getGeometryFileName() const;
117
118 MCNAPI ::std::string getLocString(::std::string const& locKey) const;
119
120 MCNAPI ::Json::Value const& getMetaFileJson() const;
121
122 MCNAPI ::PackIdVersion const& getPackIdVersion() const;
123
124 MCNAPI ::std::string const& getPieceId() const;
125
126 MCNAPI ::mce::UUID const& getPieceIdAsUUID() const;
127
128 MCNAPI ::std::string getPieceName() const;
129
130 MCNAPI ::persona::PieceType const& getPieceSubType() const;
131
132 MCNAPI ::persona::PieceType const& getPieceType() const;
133
134 MCNAPI ::std::string getPieceTypeAsString() const;
135
136 MCNAPI ::std::string const& getRelativeLocation() const;
137
138 MCNAPI ::std::shared_ptr<::Pack const> getSourcePack() const;
139
140 MCNAPI ::std::string const& getThumbnailPath() const;
141
142 MCNAPI ::TintMapColor getTintBaseColor() const;
143
144 MCNAPI bool getTintMapColor(::TintMapColor& tintColor) const;
145
146 MCNAPI bool hasLocStringData() const;
147
148 MCNAPI void hipBoneParentRetarget();
149
150 MCNAPI void initLocalizationDictionary();
151
152 MCNAPI bool isColorChangeAllowed() const;
153
154 MCNAPI bool isDefaultPiece() const;
155
156 MCNAPI bool isPieceTypeX(::persona::PieceType pieceType) const;
157
158 MCNAPI bool isPlatformLocked() const;
159
160 MCNAPI bool isTitleLocked() const;
161
162 MCNAPI bool isValid() const;
163
164 MCNAPI bool operator!=(::PersonaPiece const& asset) const;
165
166 MCNAPI bool operator==(::PersonaPiece const& asset) const;
167
168 MCNAPI void setPackIdVersion(::PackIdVersion const& packIdVersion);
169
170 MCNAPI void setPieceId(::mce::UUID const& pieceId);
171
172 MCNAPI void setPieceNameAsLocKey(::std::string const& pieceName);
173#endif
174
176 // NOLINTEND
177
178public:
179 // static functions
180 // NOLINTBEGIN
181#ifdef LL_PLAT_C
182 MCNAPI static ::PersonaPiece createPersonaPieceForClassicSkin(
183 ::std::string const& pieceId,
184 ::PackIdVersion const& packIdVersion,
185 bool platformLocked,
186 bool titleLocked
187 );
188
189 MCNAPI static ::PersonaPiece createPersonaPieceFromPiecePack(
190 ::std::shared_ptr<::Pack> sourcePack,
191 ::PersonaPiece::FilePaths const& filePaths,
192 bool differPieceAndPackIds,
193 bool isTestResourcePack
194 );
195#endif
196 // NOLINTEND
197
198public:
199 // static variables
200 // NOLINTBEGIN
201 MCNAPI static ::std::string const& GEOMETRY_SOURCES_KEY();
202
203 MCNAPI static ::PersonaPiece const& INVALID_PIECE();
204
205 MCNAPI static ::std::string const& TEXTURE_SOURCES_KEY();
206 // NOLINTEND
207
208public:
209 // constructor thunks
210 // NOLINTBEGIN
211 MCNAPI void* $ctor();
212
213#ifdef LL_PLAT_C
214 MCNAPI void* $ctor(::PersonaPiece&&);
215
216 MCNAPI void* $ctor(::PersonaPiece const&);
217
218 MCNAPI void* $ctor(
219 ::std::string const& pieceId,
220 ::PackIdVersion const& packIdVersion,
221 ::persona::PieceType pieceTypeId,
222 bool platformLocked,
223 bool titleLocked
224 );
225#endif
226 // NOLINTEND
227
228public:
229 // destructor thunk
230 // NOLINTBEGIN
231 MCNAPI void $dtor();
232 // NOLINTEND
233};
Definition Value.h:16
Definition Pack.h:28
static MCAPI ::std::string const & GEOMETRY_SOURCES_KEY()
MCAPI void $dtor()
static MCAPI ::PersonaPiece const & INVALID_PIECE()
MCAPI PersonaPiece()
MCAPI ~PersonaPiece()
static MCAPI ::std::string const & TEXTURE_SOURCES_KEY()
MCAPI void * $ctor()
Definition TintMapColor.h:8
Definition UUID.h:7
Definition PackIdVersion.h:10
Definition PersonaAnimationDefinition.h:5
Definition PersonaPiece.h:28
Definition Alias.h:14