3#include "mc/_HeaderOutputPredefine.h"
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"
23namespace mce {
class Color; }
24namespace mce {
class UUID; }
27namespace persona::color {
class ColorInfo; }
33 using ColorInfo = ::persona::color::ColorInfo;
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;
53 PersonaScreenModelCommon& operator=(PersonaScreenModelCommon
const&);
54 PersonaScreenModelCommon(PersonaScreenModelCommon
const&);
55 PersonaScreenModelCommon();
60 virtual ~PersonaScreenModelCommon() =
default;
62 virtual void update(::ui::DirtyFlag& dirtyFlags);
64 virtual void updateSkin(::persona::PersonaCharacterHandle
const& characterHandle, ::SkinHandle handle);
72 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance>
const& client
77 ::std::function<
void(
bool)> finalCallback
84 ::SharedTypes::persona::ArmSizeType
const& armSize,
85 ::std::function<
void(
bool)> callback
90 ::std::string
const& pieceId,
93 ::std::function<
void(
bool)> callback
98 ::SharedTypes::persona::BodySizeType
const& bodyType,
99 ::std::function<
void(
bool)> callback
104 ::SharedTypes::persona::PieceType pieceType,
106 ::std::string
const& productId,
108 ::std::function<
void(
bool)> callback,
109 ::SharedTypes::persona::PieceSide side
114 ::SharedTypes::persona::PieceType pieceType,
117 ::std::function<
void(
bool)> callback
122 ::SharedTypes::persona::PieceType pieceType,
123 ::std::vector<::persona::color::ColorInfo>
const& tintColors,
124 ::std::function<
void(
bool)> callback
131 MCNAPI ::persona::PieceOfferWrapper
145 ::SharedTypes::persona::PieceType
const& pieceTypeToRemove,
146 ::std::function<
void(
bool)> callback,
147 ::SharedTypes::persona::PieceSide side
175 MCNAPI
void $update(::ui::DirtyFlag& dirtyFlags);
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 PieceOfferWrapper.h:7
Definition FreeItemState.h:7
Definition PersonaCharacterHandle.h:10