Skip to content
LeviMC
English
AutoLightDark
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/deps/core/file/Path.h"
7#include "mc/deps/core/resource/PackIdVersion.h"
8#include "mc/deps/shared_types/persona/BodySizeType.h"
9#include "mc/deps/shared_types/persona/PieceType.h"
10#include "mc/deps/shared_types/v1_26_40/actor/PersonaPieceMeta.h"
11#include "mc/platform/UUID.h"
12
13// auto generated forward declare list
14// clang-format off
16class Pack;
17class TintMapColor;
19namespace Json { class Value; }
20// clang-format on
21
22class PersonaPiece {
23public:
24 // PersonaPiece inner types declare
25 // clang-format off
26 struct FilePaths;
27 // clang-format on
28
29 // PersonaPiece inner types define
30 struct FilePaths {};
31
33
34 using MetaLoader = ::Puv::SlicedLoader<
36 nullptr_t,
37 nullptr_t,
38 nullptr_t,
40
41public:
42 // member variables
43 // NOLINTBEGIN
44 ::ll::TypedStorage<8, 32, ::std::string> mPieceId;
45 ::ll::TypedStorage<8, 16, ::mce::UUID> mPieceIdUUID;
46 ::ll::TypedStorage<8, 48, ::PackIdVersion> mPackIdVersion;
47 ::ll::TypedStorage<4, 4, ::SharedTypes::persona::PieceType> mPieceType;
48 ::ll::TypedStorage<4, 4, ::SharedTypes::persona::PieceType> mPieceSubType;
49 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ILocalizationDictionary>> mlocDict;
50 ::ll::TypedStorage<8, 32, ::std::string> mRelativeLocation;
51 ::ll::TypedStorage<8, 40, ::std::optional<::std::string>> mPieceNameLocKeyOverride;
52 ::ll::TypedStorage<8, 32, ::std::string> mMetaFileName;
53 ::ll::TypedStorage<8, 32, ::std::string> mThumbnailPath;
54 ::ll::TypedStorage<4, 4, ::SharedTypes::persona::BodySizeType> mBodyVariant;
55 ::ll::TypedStorage<8, 672, ::SharedTypes::v1_26_40::PersonaPieceMetaDef::PersonaPieceMeta> mMeta;
56 ::ll::TypedStorage<8, 32, ::Core::Path> mLocFilePath;
57 ::ll::TypedStorage<8, 32, ::std::string> mGeometryFileName;
58 ::ll::TypedStorage<8, 24, ::std::vector<::PersonaAnimationDefinition>> mAnimations;
59 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::Pack const>> mSourcePack;
60 ::ll::TypedStorage<1, 1, bool> mAllowsTintOverride;
61 ::ll::TypedStorage<1, 1, bool> mCanBeSidePiece;
62 ::ll::TypedStorage<1, 1, bool> mPlatformLocked;
63 ::ll::TypedStorage<1, 1, bool> mTitleLocked;
64 // NOLINTEND
65
66#ifdef LL_PLAT_S
67#else // LL_PLAT_C
68public:
69 // prevent constructor by default
70 PersonaPiece& operator=(PersonaPiece const&);
71 PersonaPiece(PersonaPiece const&);
72
73#endif
74public:
75 // member functions
76 // NOLINTBEGIN
77#ifdef LL_PLAT_C
78 MCNAPI PersonaPiece();
79
80 MCNAPI PersonaPiece(::PersonaPiece&&);
81
82 MCNAPI PersonaPiece(
83 ::std::string const& pieceId,
84 ::PackIdVersion const& packIdVersion,
85 ::SharedTypes::persona::PieceType pieceTypeId,
86 ::std::weak_ptr<::Pack const> sourcePack,
87 bool platformLocked,
88 bool titleLocked,
89 bool allowsTintOverride
90 );
91
92 MCAPI ::std::string getPieceName() const;
93
94 MCAPI ::std::string getPieceTypeAsString() const;
95
96 MCAPI ::TintMapColor getTintBaseColor() const;
97
98 MCAPI bool getTintMapColor(::TintMapColor& tintColor) const;
99
100 MCNAPI void initLocalizationDictionary();
101
102 MCAPI bool isDefaultPiece() const;
103
104 MCAPI bool isValid() const;
105
106 MCAPI bool loadGeometryFileJson(::Json::Value& outJson) const;
107
108 MCNAPI void setPieceId(::mce::UUID const& pieceId);
109
110 MCNAPI void setPieceNameAsLocKey(::std::string const& pieceName);
111
112 MCNAPI ~PersonaPiece();
113#endif
114 // NOLINTEND
115
116public:
117 // constructor thunks
118 // NOLINTBEGIN
119#ifdef LL_PLAT_C
120 MCNAPI void* $ctor();
121
122 MCNAPI void* $ctor(::PersonaPiece&&);
123
124 MCNAPI void* $ctor(
125 ::std::string const& pieceId,
126 ::PackIdVersion const& packIdVersion,
127 ::SharedTypes::persona::PieceType pieceTypeId,
128 ::std::weak_ptr<::Pack const> sourcePack,
129 bool platformLocked,
130 bool titleLocked,
131 bool allowsTintOverride
132 );
133#endif
134 // NOLINTEND
135
136public:
137 // destructor thunk
138 // NOLINTBEGIN
139#ifdef LL_PLAT_C
140 MCNAPI void $dtor();
141#endif
142 // NOLINTEND
143};
Definition ILocalizationDictionary.h:10
Definition Value.h:16
Definition Pack.h:28
Definition _HeaderOutputPredefine.h:407
Definition TintMapColor.h:8
Definition UUID.h:8
Definition PackIdVersion.h:10
Definition PersonaAnimationDefinition.h:5
Definition PersonaPiece.h:30