Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
PersonaScreenModelCommon.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/screens/models/PreviewedItemEventInformation.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9#include "mc/deps/shared_types/persona/ArmSizeType.h"
10#include "mc/deps/shared_types/persona/BodySizeType.h"
11#include "mc/deps/shared_types/persona/PieceSide.h"
12#include "mc/deps/shared_types/persona/PieceType.h"
13#include "mc/world/actor/player/persona/PersonaCharacterHandle.h"
14
15// auto generated forward declare list
16// clang-format off
17class IClientInstance;
19class IMinecraftGame;
21class PersonaClient;
22class SkinHandle;
23namespace mce { class Color; }
24namespace mce { class UUID; }
25namespace persona { class PieceOfferWrapper; }
26namespace persona { struct FreeItemState; }
27namespace persona::color { class ColorInfo; }
28// clang-format on
29
31public:
32 // PersonaScreenModelCommon inner types define
33 using ColorInfo = ::persona::color::ColorInfo;
34
35public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<8, 8, ::IMinecraftGame&> mMinecraft;
39 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance>> mClient;
40 ::ll::TypedStorage<8, 8, ::PersonaClient&> mSkinRepoClientInterface;
41 ::ll::TypedStorage<8, 8, ::IMinecraftEventing&> mEventing;
42 ::ll::TypedStorage<8, 152, ::PreviewedItemEventInformation> mPreviewedItemInfo;
43 ::ll::TypedStorage<8, 8, int64> mNextPossibleEventTime;
44 ::ll::TypedStorage<1, 1, bool> mIsCurrentSkinPackOwned;
45 ::ll::TypedStorage<8, 16, ::std::shared_ptr<bool>> mExistanceTracker;
46 ::ll::TypedStorage<8, 40, ::persona::PersonaCharacterHandle> mActiveCharacterHandle;
47 ::ll::TypedStorage<1, 1, bool> mActiveCharacterInitialized;
48 ::ll::TypedStorage<1, 1, bool> mWaitingForNewPersona;
49 // NOLINTEND
50
51public:
52 // prevent constructor by default
53 PersonaScreenModelCommon& operator=(PersonaScreenModelCommon const&);
54 PersonaScreenModelCommon(PersonaScreenModelCommon const&);
55 PersonaScreenModelCommon();
56
57public:
58 // virtual functions
59 // NOLINTBEGIN
60 virtual ~PersonaScreenModelCommon() = default;
61
62 virtual void update(::ui::DirtyFlag& dirtyFlags);
63
64 virtual void updateSkin(::persona::PersonaCharacterHandle const& characterHandle, ::SkinHandle handle);
65 // NOLINTEND
66
67public:
68 // member functions
69 // NOLINTBEGIN
71 ::IMinecraftGame& minecraft,
72 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const& client
73 );
74
75 MCNAPI ::std::function<void(bool)> _getNormalPersonaChangedCallback(
77 ::std::function<void(bool)> finalCallback
78 );
79
80 MCNAPI void attemptCopyValidActiveAppearanceToCurrentCharacter(::std::function<void(bool)> callback);
81
84 ::SharedTypes::persona::ArmSizeType const& armSize,
85 ::std::function<void(bool)> callback
86 );
87
88 MCNAPI void changePersonaEmote(
90 ::std::string const& pieceId,
91 ::persona::FreeItemState const& freeItemState,
92 int emoteWheelSlot,
93 ::std::function<void(bool)> callback
94 );
95
98 ::SharedTypes::persona::BodySizeType const& bodyType,
99 ::std::function<void(bool)> callback
100 );
101
104 ::SharedTypes::persona::PieceType pieceType,
105 ::mce::UUID const& pieceId,
106 ::std::string const& productId,
107 ::persona::FreeItemState const& freeItemState,
108 ::std::function<void(bool)> callback,
109 ::SharedTypes::persona::PieceSide side
110 );
111
114 ::SharedTypes::persona::PieceType pieceType,
115 ::mce::Color const& color,
116 ushort channel,
117 ::std::function<void(bool)> callback
118 );
119
122 ::SharedTypes::persona::PieceType pieceType,
123 ::std::vector<::persona::color::ColorInfo> const& tintColors,
124 ::std::function<void(bool)> callback
125 );
126
127 MCNAPI bool createActivePersonaFromCurrentCharacter(::std::function<void(bool)> callback);
128
129 MCNAPI void fireEventPersonaAvatarUpdated(::PersonaAppearance const& oldAppearance, bool isBeingDeleted);
130
131 MCNAPI ::persona::PieceOfferWrapper
133
135
136 MCNAPI ::SkinHandle getPersonaSkinHandle(::persona::PersonaCharacterHandle const& handle);
137
138 MCNAPI ::mce::Color
139 getTintColor(::persona::PersonaCharacterHandle const& handle, ::SharedTypes::persona::PieceType type, int channel);
140
141 MCNAPI bool isEmoteSlotSetOnCurrentAppearance(int emoteWheelSlot);
142
143 MCNAPI void removePieceByType(
145 ::SharedTypes::persona::PieceType const& pieceTypeToRemove,
146 ::std::function<void(bool)> callback,
147 ::SharedTypes::persona::PieceSide side
148 );
149
150 MCNAPI void
151 revertPersona(::persona::PersonaCharacterHandle const& characterHandle, ::std::function<void(bool)> callback);
152
154
155 MCNAPI void savePersona(::persona::PersonaCharacterHandle const& characterHandle);
156
157 MCNAPI void updatePreviewedItem(::PreviewedItemEventInformation previewedItemEventInfo);
158 // NOLINTEND
159
160public:
161 // static variables
162 // NOLINTBEGIN
163 MCNAPI static ::std::vector<::mce::UUID> const& mBuiltInSkinPackIds();
164 // NOLINTEND
165
166public:
167 // constructor thunks
168 // NOLINTBEGIN
169 MCNAPI void* $ctor(::IMinecraftGame& minecraft, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const& client);
170 // NOLINTEND
171
172public:
173 // virtual function thunks
174 // NOLINTBEGIN
175 MCNAPI void $update(::ui::DirtyFlag& dirtyFlags);
176
177 MCNAPI void $updateSkin(::persona::PersonaCharacterHandle const& characterHandle, ::SkinHandle handle);
178 // NOLINTEND
179};
Definition IClientInstance.h:5
Definition IMinecraftEventing.h:152
Definition IMinecraftGame.h:5
Definition PersonaAppearance.h:5
Definition PersonaClient.h:5
Definition PersonaScreenModelCommon.h:5
static MCAPI ::std::vector<::mce::UUID > const & mBuiltInSkinPackIds()
MCAPI void $updateSkin(::persona::PersonaCharacterHandle const &characterHandle, ::SkinHandle handle)
MCAPI void revertPersona(::persona::PersonaCharacterHandle const &characterHandle, ::std::function< void(bool)> callback)
MCAPI void changePersonaPiece(::persona::PersonaCharacterHandle const &handle, ::SharedTypes::persona::PieceType pieceType, ::mce::UUID const &pieceId, ::std::string const &productId, ::persona::FreeItemState const &freeItemState, ::std::function< void(bool)> callback, ::SharedTypes::persona::PieceSide side)
MCAPI bool createActivePersonaFromCurrentCharacter(::std::function< void(bool)> callback)
MCAPI void saveCurrentCharacterPersona()
MCAPI void removePieceByType(::persona::PersonaCharacterHandle const &handle, ::SharedTypes::persona::PieceType const &pieceTypeToRemove, ::std::function< void(bool)> callback, ::SharedTypes::persona::PieceSide side)
MCAPI void attemptCopyValidActiveAppearanceToCurrentCharacter(::std::function< void(bool)> callback)
MCAPI::SkinHandle getPersonaClassicSkinHandle(::persona::PersonaCharacterHandle const &handle)
MCAPI void $update(::ui::DirtyFlag &dirtyFlags)
MCAPI void changePersonaEmote(::persona::PersonaCharacterHandle const &handle, ::std::string const &pieceId, ::persona::FreeItemState const &freeItemState, int emoteWheelSlot, ::std::function< void(bool)> callback)
MCAPI void * $ctor(::IMinecraftGame &minecraft, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance > const &client)
MCAPI PersonaScreenModelCommon(::IMinecraftGame &minecraft, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance > const &client)
MCAPI void changePersonaHeight(::persona::PersonaCharacterHandle const &handle, ::SharedTypes::persona::BodySizeType const &bodyType, ::std::function< void(bool)> callback)
MCAPI bool isEmoteSlotSetOnCurrentAppearance(int emoteWheelSlot)
MCAPI void updatePreviewedItem(::PreviewedItemEventInformation previewedItemEventInfo)
MCAPI void fireEventPersonaAvatarUpdated(::PersonaAppearance const &oldAppearance, bool isBeingDeleted)
MCAPI ::std::function< void(bool)> _getNormalPersonaChangedCallback(::persona::PersonaCharacterHandle const &handle, ::std::function< void(bool)> finalCallback)
MCAPI void changePersonaArmSize(::persona::PersonaCharacterHandle const &handle, ::SharedTypes::persona::ArmSizeType const &armSize, ::std::function< void(bool)> callback)
MCAPI void changePersonaTintColors(::persona::PersonaCharacterHandle const &handle, ::SharedTypes::persona::PieceType pieceType, ::std::vector<::persona::color::ColorInfo > const &tintColors, ::std::function< void(bool)> callback)
MCAPI void changePersonaTintColor(::persona::PersonaCharacterHandle const &handle, ::SharedTypes::persona::PieceType pieceType, ::mce::Color const &color, ushort channel, ::std::function< void(bool)> callback)
MCAPI::persona::PieceOfferWrapper getEmotePieceOfferFromAppearance(::persona::PersonaCharacterHandle const &handle, int emoteIndex)
MCAPI void savePersona(::persona::PersonaCharacterHandle const &characterHandle)
MCAPI::SkinHandle getPersonaSkinHandle(::persona::PersonaCharacterHandle const &handle)
MCAPI::mce::Color getTintColor(::persona::PersonaCharacterHandle const &handle, ::SharedTypes::persona::PieceType type, int channel)
Definition SkinHandle.h:5
Definition Color.h:13
Definition UUID.h:8
Definition PieceOfferWrapper.h:7
Definition ColorInfo.h:7
Definition PreviewedItemEventInformation.h:5
Definition FreeItemState.h:7
Definition PersonaCharacterHandle.h:10