Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
IPersonaCharacterEditor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
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"
10
11// auto generated forward declare list
12// clang-format off
14class SkinHandle;
15struct PersonaCharacter;
16namespace mce { class Color; }
17namespace mce { class UUID; }
18namespace persona { class PieceHandle; }
19namespace persona { struct FreeItemState; }
20namespace persona { struct PersonaCharacterHandle; }
21namespace persona { struct PieceToChange; }
22namespace persona::color { class ColorInfo; }
23// clang-format on
24
26public:
27 // virtual functions
28 // NOLINTBEGIN
29 virtual ~IPersonaCharacterEditor() = default;
30
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
39 ) = 0;
40
41 virtual void changePieces(
42 ::persona::PersonaCharacterHandle const& currentCharacter,
43 ::std::vector<::persona::PieceToChange> const& pieces,
44 ::std::function<void(bool)> callback
45 ) = 0;
46
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
52 ) = 0;
53
54 virtual void changeEmote(
55 ::persona::PersonaCharacterHandle const& currentCharacter,
56 ::std::string const& emotePieceId,
57 ::persona::FreeItemState const& freeItemState,
58 int emoteWheelSlot,
59 ::std::function<void(bool)> callback
60 ) = 0;
61
62 virtual void removeEmote(::persona::PersonaCharacterHandle const& currentCharacter, int emoteWheelSlot) = 0;
63
64 virtual void removeAllEmotes(::persona::PersonaCharacterHandle const& currentCharacterHandle) = 0;
65
66 virtual void
67 removeEmotesWithId(::persona::PersonaCharacterHandle const& currentCharacter, ::std::string const& emoteId) = 0;
68
69 virtual void
70 changeClassicSkin(::persona::PersonaCharacterHandle const& currentCharacter, ::SkinHandle const& handle) = 0;
71
72 virtual void changeArmSize(
73 ::persona::PersonaCharacterHandle const& currentCharacter,
74 ::SharedTypes::persona::ArmSizeType const& armSizeType,
75 ::std::function<void(bool)> callback
76 ) = 0;
77
78 virtual void changeHeight(
79 ::persona::PersonaCharacterHandle const& currentCharacter,
80 ::SharedTypes::persona::BodySizeType const& bodyType,
81 ::std::function<void(bool)> callback
82 ) = 0;
83
84 virtual void changePersonaTintColor(
85 ::persona::PersonaCharacterHandle const& currentCharacter,
86 ::SharedTypes::persona::PieceType const pieceType,
87 ::mce::Color const& color,
88 ushort channel,
89 ::std::function<void(bool)> callback
90 ) = 0;
91
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
97 ) = 0;
98
99 virtual void savePersonaItems(::persona::PersonaCharacterHandle const& characterHandle) = 0;
100
101 virtual void
102 revertPersona(::persona::PersonaCharacterHandle const& currentCharacter, ::std::function<void(bool)> callback) = 0;
103
104 virtual void revertPersonaPiece(
105 ::persona::PersonaCharacterHandle const& handle,
106 ::SharedTypes::persona::PieceType const& pieceTypeToRevert
107 ) = 0;
108
109 virtual bool doesCharacterHavePieceOfTypeX(
110 ::persona::PersonaCharacterHandle const& currentCharacter,
111 ::SharedTypes::persona::PieceType const& pieceType
112 ) = 0;
113
114 virtual bool isPieceOwned(::persona::PieceHandle const& item) = 0;
115
116 virtual void updatePersonaWithNewAppearance(
117 ::PersonaAppearance const& newAppearance,
118 ::PersonaCharacter& character,
119 ::std::function<void(bool)> callback
120 ) = 0;
121 // NOLINTEND
122};
Definition IPersonaCharacterEditor.h:5
Definition PersonaAppearance.h:5
Definition SkinHandle.h:5
Definition Color.h:13
Definition UUID.h:8
Definition PieceHandle.h:7
Definition ColorInfo.h:7
Definition PersonaCharacter.h:5
Definition FreeItemState.h:7
Definition PersonaCharacterHandle.h:10
Definition PieceToChange.h:7