3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/shared_types/persona/ArmSizeType.h"
7#include "mc/deps/shared_types/persona/BodySizeType.h"
8#include "mc/deps/shared_types/persona/PieceSide.h"
9#include "mc/deps/shared_types/persona/PieceType.h"
16namespace mce {
class Color; }
17namespace mce {
class UUID; }
22namespace persona::color {
class ColorInfo; }
29 virtual ~IPersonaCharacterEditor() =
default;
31 virtual void changePiece(
32 ::persona::PersonaCharacterHandle
const& currentCharacter,
33 ::SharedTypes::persona::PieceType
const pieceType,
34 ::mce::UUID
const& pieceId,
35 ::std::string
const& productId,
36 ::persona::FreeItemState
const& freeItemState,
37 ::SharedTypes::persona::PieceSide side,
38 ::std::function<
void(
bool)> callback
41 virtual void changePieces(
42 ::persona::PersonaCharacterHandle
const& currentCharacter,
43 ::std::vector<::persona::PieceToChange>
const& pieces,
44 ::std::function<
void(
bool)> callback
47 virtual void removePieceByType(
48 ::persona::PersonaCharacterHandle
const& currentCharacter,
49 ::SharedTypes::persona::PieceType
const pieceTypeToRemove,
50 ::SharedTypes::persona::PieceSide
const side,
51 ::std::function<
void(
bool)> callback
54 virtual void changeEmote(
55 ::persona::PersonaCharacterHandle
const& currentCharacter,
56 ::std::string
const& emotePieceId,
57 ::persona::FreeItemState
const& freeItemState,
59 ::std::function<
void(
bool)> callback
62 virtual void removeEmote(::persona::PersonaCharacterHandle
const& currentCharacter,
int emoteWheelSlot) = 0;
64 virtual void removeAllEmotes(::persona::PersonaCharacterHandle
const& currentCharacterHandle) = 0;
67 removeEmotesWithId(::persona::PersonaCharacterHandle
const& currentCharacter, ::std::string
const& emoteId) = 0;
70 changeClassicSkin(::persona::PersonaCharacterHandle
const& currentCharacter, ::SkinHandle
const& handle) = 0;
72 virtual void changeArmSize(
73 ::persona::PersonaCharacterHandle
const& currentCharacter,
74 ::SharedTypes::persona::ArmSizeType
const& armSizeType,
75 ::std::function<
void(
bool)> callback
78 virtual void changeHeight(
79 ::persona::PersonaCharacterHandle
const& currentCharacter,
80 ::SharedTypes::persona::BodySizeType
const& bodyType,
81 ::std::function<
void(
bool)> callback
84 virtual void changePersonaTintColor(
85 ::persona::PersonaCharacterHandle
const& currentCharacter,
86 ::SharedTypes::persona::PieceType
const pieceType,
87 ::mce::Color
const& color,
89 ::std::function<
void(
bool)> callback
92 virtual void changePersonaTintColors(
93 ::persona::PersonaCharacterHandle
const& currentCharacter,
94 ::SharedTypes::persona::PieceType
const pieceType,
95 ::std::vector<::persona::color::ColorInfo>
const& tintColors,
96 ::std::function<
void(
bool)> callback
99 virtual void savePersonaItems(::persona::PersonaCharacterHandle
const& characterHandle) = 0;
102 revertPersona(::persona::PersonaCharacterHandle
const& currentCharacter, ::std::function<
void(
bool)> callback) = 0;
104 virtual void revertPersonaPiece(
105 ::persona::PersonaCharacterHandle
const& handle,
106 ::SharedTypes::persona::PieceType
const& pieceTypeToRevert
109 virtual bool doesCharacterHavePieceOfTypeX(
110 ::persona::PersonaCharacterHandle
const& currentCharacter,
111 ::SharedTypes::persona::PieceType
const& pieceType
114 virtual bool isPieceOwned(::persona::PieceHandle
const& item) = 0;
116 virtual void updatePersonaWithNewAppearance(
117 ::PersonaAppearance
const& newAppearance,
118 ::PersonaCharacter& character,
119 ::std::function<
void(
bool)> callback
Definition IPersonaCharacterEditor.h:5
Definition PersonaAppearance.h:5
Definition SkinHandle.h:5
Definition PieceHandle.h:7
Definition PersonaCharacter.h:5
Definition FreeItemState.h:7
Definition PersonaCharacterHandle.h:10
Definition PieceToChange.h:7