Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
PersonaAppearance.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/persona/PieceHandle.h"
7#include "mc/deps/core/math/Color.h"
8#include "mc/deps/shared_types/persona/ArmSizeType.h"
9#include "mc/deps/shared_types/persona/PieceType.h"
10
11// auto generated forward declare list
12// clang-format off
13class SemVersion;
14class TintMapColor;
15namespace Json { class Value; }
16// clang-format on
17
19public:
20 // PersonaAppearance inner types define
21 enum class EmoteWheelIndicie : int {};
22
23 using ArmSizeType = ::SharedTypes::persona::ArmSizeType;
24
25 using EmoteWheel = ::std::array<::persona::PieceHandle, 4>;
26
27 using PieceTintMap = ::std::unordered_map<::SharedTypes::persona::PieceType, ::TintMapColor>;
28
29 using PieceVector = ::std::vector<::persona::PieceHandle>;
30
31public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 24, ::std::vector<::persona::PieceHandle>> mPieceVector;
35 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mUnsupportedPieces;
36 ::ll::TypedStorage<8, 864, ::std::array<::persona::PieceHandle, 4>> mEmoteWheel;
37 ::ll::TypedStorage<1, 1, ::SharedTypes::persona::ArmSizeType> mArmSizeType;
38 ::ll::TypedStorage<1, 1, ::SharedTypes::persona::ArmSizeType> mCustomSkinArmSize;
39 ::ll::TypedStorage<8, 64, ::std::unordered_map<::SharedTypes::persona::PieceType, ::TintMapColor>> mPieceTintColors;
40 ::ll::TypedStorage<4, 16, ::mce::Color> mSkinColor;
41 ::ll::TypedStorage<8, 32, ::std::string> mEncodedClassicSkinImage;
42 ::ll::TypedStorage<8, 32, ::std::string> mSerializedLockedClassicSkin;
43 ::ll::TypedStorage<1, 1, bool> mUseClassicSkin;
44 ::ll::TypedStorage<1, 1, bool> mAllowUnownedPieces;
45 ::ll::TypedStorage<1, 1, bool> mSaveSerializedLockedClassicSkin;
46 ::ll::TypedStorage<1, 1, bool> mSaveSerializedUseClassicSkin;
47 ::ll::TypedStorage<1, 1, bool> mSerializedUseClassicSkin;
48 // NOLINTEND
49
50public:
51 // virtual functions
52 // NOLINTBEGIN
53 virtual ~PersonaAppearance();
54 // NOLINTEND
55
56public:
57 // member functions
58 // NOLINTBEGIN
60
61 MCNAPI explicit PersonaAppearance(::persona::PieceHandle&& legacyPiece);
62
64
66
68 ::std::vector<::persona::PieceHandle> const& pieceList,
69 ::std::unordered_map<::SharedTypes::persona::PieceType, ::TintMapColor> const& tintMap,
70 ::mce::Color const& skinColor,
71 ::SharedTypes::persona::ArmSizeType const& armSizeType
72 );
73
75 ::std::vector<::persona::PieceHandle> const& pieceList,
76 ::std::unordered_map<::SharedTypes::persona::PieceType, ::TintMapColor> const& tintMap,
77 ::mce::Color const& skinColor,
78 ::SharedTypes::persona::ArmSizeType const& armSizeType,
79 ::std::array<::persona::PieceHandle, 4> const& emoteWheel
80 );
81
82 MCNAPI bool _doesSerializedPieceContainFlag(::Json::Value const& serializedPiece, char const flagToCheckFor) const;
83
84 MCNAPI ::std::string _getSerializedPieceIdNoFlags(::Json::Value const& serializedPiece);
85
86 MCNAPI bool _hasEmote(::std::string const& pieceId) const;
87
88 MCNAPI void _preHandleSettingPiece(::SharedTypes::persona::PieceType pieceTypeBeingSet);
89
90 MCNAPI void copyEquivalentGroupFrom(::PersonaAppearance const& source, ::SharedTypes::persona::PieceType pieceType);
91
92 MCNAPI bool fillFromJSON(::SemVersion const& version, ::Json::Value const& appearanceInfo);
93
94 MCNAPI bool getAllowUnownedPieces() const;
95
96 MCNAPI int getEmoteWheelIndex(::std::string const& pieceId) const;
97
98 MCNAPI ::persona::PieceHandle const& getEquivalentPiece(::SharedTypes::persona::PieceType pieceType) const;
99
100 MCNAPI ::persona::PieceHandle const& getPiece(::std::string const& pieceId) const;
101
102 MCNAPI ::persona::PieceHandle const& getPiece(::SharedTypes::persona::PieceType pieceType) const;
103
104 MCNAPI bool isAnyEmoteSlotSet() const;
105
106 MCNAPI bool isEmoteWheelEqual(::PersonaAppearance const& rhs) const;
107
108 MCNAPI bool isPhysicalTraitEqual(::PersonaAppearance const& rhs) const;
109
110 MCNAPI bool isPieceVectorEqual(::PersonaAppearance const& rhs) const;
111
113
114 MCNAPI bool isTintEqual(::PersonaAppearance const& rhs) const;
115
116 MCNAPI ::PersonaAppearance& operator=(::PersonaAppearance const& rhs);
117
118 MCNAPI ::PersonaAppearance& operator=(::PersonaAppearance&& rhs);
119
120 MCNAPI bool removeEmotesWithId(::std::string const& emoteId);
121
122 MCNAPI void removeEquivalentPieces(::SharedTypes::persona::PieceType pieceType);
123
124 MCNAPI void setCustomSkinEncoded(::std::string&& encodedSkin);
125
126 MCNAPI void setEmote(int emoteWheelSlot, ::persona::PieceHandle const& newEmote);
127
128 MCNAPI void setPiece(::persona::PieceHandle const& newPiece);
129
130 MCNAPI void setTintMapColor(::SharedTypes::persona::PieceType pieceType, ::mce::Color const& color, ushort channel);
131
132 MCNAPI ::Json::Value toJSONObject(bool allowInvalid, bool includeUnsupported) const;
133 // NOLINTEND
134
135public:
136 // static functions
137 // NOLINTBEGIN
138 MCNAPI static bool _isSerializedPieceEmpty(::Json::Value const& serializedPiece);
139 // NOLINTEND
140
141public:
142 // constructor thunks
143 // NOLINTBEGIN
144 MCNAPI void* $ctor();
145
146 MCNAPI void* $ctor(::persona::PieceHandle&& legacyPiece);
147
148 MCNAPI void* $ctor(::PersonaAppearance const& other);
149
150 MCNAPI void* $ctor(::PersonaAppearance&& rhs);
151
152 MCNAPI void* $ctor(
153 ::std::vector<::persona::PieceHandle> const& pieceList,
154 ::std::unordered_map<::SharedTypes::persona::PieceType, ::TintMapColor> const& tintMap,
155 ::mce::Color const& skinColor,
156 ::SharedTypes::persona::ArmSizeType const& armSizeType
157 );
158
159 MCNAPI void* $ctor(
160 ::std::vector<::persona::PieceHandle> const& pieceList,
161 ::std::unordered_map<::SharedTypes::persona::PieceType, ::TintMapColor> const& tintMap,
162 ::mce::Color const& skinColor,
163 ::SharedTypes::persona::ArmSizeType const& armSizeType,
164 ::std::array<::persona::PieceHandle, 4> const& emoteWheel
165 );
166 // NOLINTEND
167
168public:
169 // destructor thunk
170 // NOLINTBEGIN
171 MCNAPI void $dtor();
172 // NOLINTEND
173
174public:
175 // vftables
176 // NOLINTBEGIN
177 MCNAPI static void** $vftable();
178 // NOLINTEND
179};
Definition Value.h:16
Definition PersonaAppearance.h:5
MCAPI PersonaAppearance(::std::vector<::persona::PieceHandle > const &pieceList, ::std::unordered_map<::SharedTypes::persona::PieceType, ::TintMapColor > const &tintMap, ::mce::Color const &skinColor, ::SharedTypes::persona::ArmSizeType const &armSizeType)
MCAPI PersonaAppearance(::std::vector<::persona::PieceHandle > const &pieceList, ::std::unordered_map<::SharedTypes::persona::PieceType, ::TintMapColor > const &tintMap, ::mce::Color const &skinColor, ::SharedTypes::persona::ArmSizeType const &armSizeType, ::std::array<::persona::PieceHandle, 4 > const &emoteWheel)
MCAPI void * $ctor(::persona::PieceHandle &&legacyPiece)
MCAPI void * $ctor(::PersonaAppearance &&rhs)
MCAPI void removeEquivalentPieces(::SharedTypes::persona::PieceType pieceType)
MCAPI::PersonaAppearance & operator=(::PersonaAppearance &&rhs)
MCAPI void setPiece(::persona::PieceHandle const &newPiece)
MCAPI bool isPieceVectorEqual(::PersonaAppearance const &rhs) const
MCAPI int getEmoteWheelIndex(::std::string const &pieceId) const
MCAPI PersonaAppearance(::persona::PieceHandle &&legacyPiece)
MCAPI bool isPhysicalTraitEqual(::PersonaAppearance const &rhs) const
MCAPI bool isTintEqual(::PersonaAppearance const &rhs) const
MCAPI bool isEmoteWheelEqual(::PersonaAppearance const &rhs) const
MCAPI void copyEquivalentGroupFrom(::PersonaAppearance const &source, ::SharedTypes::persona::PieceType pieceType)
MCAPI void * $ctor(::std::vector<::persona::PieceHandle > const &pieceList, ::std::unordered_map<::SharedTypes::persona::PieceType, ::TintMapColor > const &tintMap, ::mce::Color const &skinColor, ::SharedTypes::persona::ArmSizeType const &armSizeType)
MCAPI void * $ctor(::std::vector<::persona::PieceHandle > const &pieceList, ::std::unordered_map<::SharedTypes::persona::PieceType, ::TintMapColor > const &tintMap, ::mce::Color const &skinColor, ::SharedTypes::persona::ArmSizeType const &armSizeType, ::std::array<::persona::PieceHandle, 4 > const &emoteWheel)
MCAPI bool isAnyEmoteSlotSet() const
MCAPI void setCustomSkinEncoded(::std::string &&encodedSkin)
MCAPI::Json::Value toJSONObject(bool allowInvalid, bool includeUnsupported) const
MCAPI bool removeEmotesWithId(::std::string const &emoteId)
MCAPI void $dtor()
static MCAPI bool _isSerializedPieceEmpty(::Json::Value const &serializedPiece)
MCAPI::std::string _getSerializedPieceIdNoFlags(::Json::Value const &serializedPiece)
MCAPI void * $ctor()
MCAPI::persona::PieceHandle const & getEquivalentPiece(::SharedTypes::persona::PieceType pieceType) const
MCAPI PersonaAppearance()
MCAPI void _preHandleSettingPiece(::SharedTypes::persona::PieceType pieceTypeBeingSet)
MCAPI bool isPieceVectorExcludingClassicSkinEqual(::PersonaAppearance const &rhs) const
static MCAPI void ** $vftable()
MCAPI::persona::PieceHandle const & getPiece(::SharedTypes::persona::PieceType pieceType) const
MCAPI bool _doesSerializedPieceContainFlag(::Json::Value const &serializedPiece, char const flagToCheckFor) const
MCAPI void * $ctor(::PersonaAppearance const &other)
MCAPI bool _hasEmote(::std::string const &pieceId) const
MCAPI PersonaAppearance(::PersonaAppearance &&rhs)
MCAPI void setEmote(int emoteWheelSlot, ::persona::PieceHandle const &newEmote)
MCAPI::PersonaAppearance & operator=(::PersonaAppearance const &rhs)
MCAPI::persona::PieceHandle const & getPiece(::std::string const &pieceId) const
MCAPI bool fillFromJSON(::SemVersion const &version, ::Json::Value const &appearanceInfo)
MCAPI void setTintMapColor(::SharedTypes::persona::PieceType pieceType, ::mce::Color const &color, ushort channel)
MCAPI PersonaAppearance(::PersonaAppearance const &other)
MCAPI bool getAllowUnownedPieces() const
Definition SemVersion.h:15
Definition TintMapColor.h:8
Definition Color.h:13
Definition PieceHandle.h:7