LeviLamina
Loading...
Searching...
No Matches
SerializedSkinImpl.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Color.h"
7#include "mc/deps/json/Value.h"
8#include "mc/platform/Result.h"
9#include "mc/resources/MinEngineVersion.h"
10#include "mc/world/actor/player/SkinImage.h"
11#include "mc/world/actor/player/TrustedSkinFlag.h"
12#include "mc/world/actor/player/persona/ArmSize.h"
13#include "mc/world/actor/player/persona/PieceType.h"
14
15// auto generated forward declare list
16// clang-format off
18class BinaryStream;
23class TintMapColor;
24namespace mce { struct Image; }
25// clang-format on
26
27class SerializedSkinImpl {
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 32, ::std::string> mId;
32 ::ll::TypedStorage<8, 32, ::std::string> mPlayFabId;
33 ::ll::TypedStorage<8, 32, ::std::string> mFullId;
34 ::ll::TypedStorage<8, 32, ::std::string> mResourcePatch;
35 ::ll::TypedStorage<8, 32, ::std::string> mDefaultGeometryName;
36 ::ll::TypedStorage<8, 48, ::SkinImage> mSkinImage;
37 ::ll::TypedStorage<8, 48, ::SkinImage> mCapeImage;
38 ::ll::TypedStorage<8, 24, ::std::vector<::AnimatedImageData>> mSkinAnimatedImages;
39 ::ll::TypedStorage<8, 16, ::Json::Value> mGeometryData;
40 ::ll::TypedStorage<8, 32, ::MinEngineVersion> mGeometryDataMinEngineVersion;
41 ::ll::TypedStorage<8, 16, ::Json::Value> mGeometryDataMutable;
42 ::ll::TypedStorage<8, 32, ::std::string> mAnimationData;
43 ::ll::TypedStorage<8, 32, ::std::string> mCapeId;
44 ::ll::TypedStorage<8, 24, ::std::vector<::SerializedPersonaPieceHandle>> mPersonaPieces;
45 ::ll::TypedStorage<1, 1, ::persona::ArmSize::Type> mArmSizeType;
46 ::ll::TypedStorage<8, 64, ::std::unordered_map<::persona::PieceType, ::TintMapColor>> mPieceTintColors;
47 ::ll::TypedStorage<4, 16, ::mce::Color> mSkinColor;
48 ::ll::TypedStorage<1, 1, ::TrustedSkinFlag> mIsTrustedSkin;
49 ::ll::TypedStorage<1, 1, bool> mIsPremium;
50 ::ll::TypedStorage<1, 1, bool> mIsPersona;
51 ::ll::TypedStorage<1, 1, bool> mIsPersonaCapeOnClassicSkin;
52 ::ll::TypedStorage<1, 1, bool> mIsPrimaryUser;
53 ::ll::TypedStorage<1, 1, bool> mOverridesPlayerAppearance;
54 // NOLINTEND
55
56public:
57 // member functions
58 // NOLINTBEGIN
59 MCAPI SerializedSkinImpl();
60
61 MCAPI SerializedSkinImpl(::std::string const& playFabId, ::ConnectionRequest const& request);
62
63 MCAPI SerializedSkinImpl(::std::string const& playFabId, ::SubClientConnectionRequest const& request);
64
65 MCAPI SerializedSkinImpl(
66 ::std::string const& name,
67 ::std::string const& playFabId,
68 ::std::string const& resourcePatch,
69 ::mce::Image const& skinImage,
70 ushort const& skinImageWidth,
71 ushort const& skinImageHeight,
72 ::mce::Image const& capeImage,
73 ushort const& capeImageWidth,
74 ushort const& capeImageHeight,
75 ::Json::Value&& geometryData,
76 ::MinEngineVersion const& geometryDataMinEngineVersion,
77 ::std::string const& animationData,
78 ::std::string const& capeId,
79 bool isTrustedSkin,
80 bool isPremium,
81 bool isPersona,
82 bool isPersonaCapeOnClassicSkin,
83 bool isPrimaryUser,
84 bool overridesPlayerAppearance
85 );
86
87 MCAPI bool isValid() const;
88
89 MCAPI bool operator==(::SerializedSkinImpl const& rhs) const;
90
91 MCAPI ::Bedrock::Result<void> read(::ReadOnlyBinaryStream& stream);
92
93 MCAPI void setCapeId(::std::string const& capeId);
94
95#ifdef LL_PLAT_C
96 MCAPI void setCapeImageData(::mce::Image const* image);
97#endif
98
99 MCAPI void setId(::std::string const& id);
100
101#ifdef LL_PLAT_C
102 MCAPI void setImageData(::mce::Image const* image);
103#endif
104
105 MCAPI void setPersonaAppearanceData(
106 ::persona::ArmSize::Type const& armSizeType,
107 ::mce::Color const& skinColor,
108 ::std::vector<::SerializedPersonaPieceHandle> personaPieces,
109 ::std::unordered_map<::persona::PieceType, ::TintMapColor> const& pieceTintColors
110 );
111
112 MCAPI void updateGeometryName();
113
114 MCAPI void write(::BinaryStream& stream) const;
115
116 MCAPI ~SerializedSkinImpl();
117 // NOLINTEND
118
119public:
120 // constructor thunks
121 // NOLINTBEGIN
122 MCAPI void* $ctor();
123
124 MCAPI void* $ctor(::std::string const& playFabId, ::ConnectionRequest const& request);
125
126 MCAPI void* $ctor(::std::string const& playFabId, ::SubClientConnectionRequest const& request);
127
128 MCAPI void* $ctor(
129 ::std::string const& name,
130 ::std::string const& playFabId,
131 ::std::string const& resourcePatch,
132 ::mce::Image const& skinImage,
133 ushort const& skinImageWidth,
134 ushort const& skinImageHeight,
135 ::mce::Image const& capeImage,
136 ushort const& capeImageWidth,
137 ushort const& capeImageHeight,
138 ::Json::Value&& geometryData,
139 ::MinEngineVersion const& geometryDataMinEngineVersion,
140 ::std::string const& animationData,
141 ::std::string const& capeId,
142 bool isTrustedSkin,
143 bool isPremium,
144 bool isPersona,
145 bool isPersonaCapeOnClassicSkin,
146 bool isPrimaryUser,
147 bool overridesPlayerAppearance
148 );
149 // NOLINTEND
150
151public:
152 // destructor thunk
153 // NOLINTBEGIN
154 MCAPI void $dtor();
155 // NOLINTEND
156};
Definition AnimatedImageData.h:15
Definition BinaryStream.h:11
Definition ConnectionRequest.h:20
Definition Value.h:16
Definition MinEngineVersion.h:15
Definition ReadOnlyBinaryStream.h:8
Definition SerializedPersonaPieceHandle.h:9
Definition SubClientConnectionRequest.h:16
Definition TintMapColor.h:8
Definition Color.h:13
Definition Image.h:12