3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/deps/shared_types/persona/ArmSizeType.h"
8#include "mc/deps/shared_types/persona/PieceType.h"
9#include "mc/world/actor/player/persona/PersonaError.h"
10#include "mc/world/actor/player/persona/ProfileType.h"
23namespace Json {
class Value; }
24namespace mce {
class Color; }
25namespace mce {
class UUID; }
39 virtual bool isInitialized()
const = 0;
41 virtual bool isOfferLoading(::persona::PieceOfferWrapper
const& personaOffer)
const = 0;
43 virtual bool isPieceLoaded(::mce::UUID
const& pieceId)
const = 0;
45 virtual bool isKnownPersonaPiece(::mce::UUID
const& pieceId)
const = 0;
47 virtual bool isKnownPersonaPieceUnloaded(::mce::UUID
const& pieceId)
const = 0;
49 virtual bool isLoadingAppearances(::persona::PersonaCharacterHandleArray
const& handles)
const = 0;
51 virtual bool isLoadingAppearance(::persona::PersonaCharacterHandle
const& handle)
const = 0;
53 virtual bool isPersonaPieceLoading(::mce::UUID
const& peiceId)
const = 0;
55 virtual bool isPersonaPieceInRepo(::mce::UUID
const& pieceId)
const = 0;
57 virtual bool isPersonaPieceInRepo(::std::string
const& pieceId)
const = 0;
59 virtual ::PersonaPiece
const& getPersonaPieceFromRepo(::std::string
const& pieceId)
const = 0;
61 virtual void forEachPersonaPack(::std::function<
void(::Pack
const&)>
const& callback)
const = 0;
63 virtual ::std::vector<::persona::PieceOfferWrapper>
64 getDefaultPieceWrappersOfTypes(::std::vector<::SharedTypes::persona::PieceType>
const& sections)
const = 0;
66 virtual ::SemVersion
const& getVersionOfKnownPersonaPiecePack(::mce::UUID
const& packId)
const = 0;
68 virtual ::persona::PersonaCharacterHandle createPersonaOnUser(
69 ::persona::ProfileType profileType,
70 ::PersonaAppearance
const& appearance,
71 ::std::string
const& playFabId,
72 ::std::function<
void(::std::string
const&)> callback
75 virtual ::persona::PersonaCharacterHandle createAStartingPersonaOnUser(
76 ::persona::ProfileType profileType,
77 ::std::string
const& playFabId,
78 int defaultIndexOverride,
79 ::std::function<
void(::std::string
const&)> callback
82 virtual ::PersonaAppearance createAppearancefromData(
83 ::std::vector<::persona::PieceHandle>
const& personaPieces,
84 ::std::unordered_map<::SharedTypes::persona::PieceType, ::TintMapColor>
const& tintMap,
85 ::mce::Color
const& skinColor,
86 ::SharedTypes::persona::ArmSizeType
const& armSize
89 virtual ::SkinHandle createPersona(
90 ::persona::ProfileType profileType,
91 ::PersonaAppearance
const& newAppearance,
92 ::std::string
const& playFabId,
93 ::std::function<
void(::std::string
const&)> callback
96 virtual ::SkinHandle createAStartingPersona(
97 ::persona::ProfileType profileType,
98 ::std::string
const& playFabId,
99 uint
const defaultAppearanceIndex,
100 ::std::function<
void(::std::string
const&)> callback
103 virtual ::SkinHandle createAStartingPersona(
104 ::persona::ProfileType profileType,
105 ::mce::UUID
const& defaultCharacterId,
106 ::std::string
const& playFabId,
107 ::std::function<
void(::std::string
const&)> callback
110 virtual void tryToReloadPersona(
111 ::persona::PersonaCharacterHandle
const& handle,
112 ::PersonaAppearance
const& newAppearance,
113 ::std::function<
void(::std::string
const&)> callback
116 virtual bool isAppearanceDefault(::PersonaAppearance
const& appearance)
const = 0;
118 virtual ::PersonaPiece
const&
119 getPieceFromClassicSkin(::std::string
const& skinSerializedName,
bool const reportFailure)
const = 0;
121 virtual void saveOfflinePersonaCatalogCache() = 0;
123 virtual void loadOfflinePersonaCatalogCache() = 0;
125 virtual void loadPiecePack(::mce::UUID packId) = 0;
127 virtual void queueImportOfPersonaPiecePack(::gsl::not_null<::std::shared_ptr<::Pack>> pack) = 0;
129 virtual ::PersonaCharacter& getCharacter(::std::string
const& characterName) = 0;
131 virtual ::PersonaCharacter& getCharacter(::persona::PersonaCharacterHandle
const& handle) = 0;
133 virtual void removeCharacter(::std::string
const& characterName) = 0;
135 virtual void removeCharacter(::persona::PersonaCharacterHandle
const& handle) = 0;
137 virtual void registerPersonaSkinsForCharacter(::PersonaCharacter& character) = 0;
139 virtual ::persona::PieceHandle getPieceHandle(::std::string
const& pieceId)
const = 0;
141 virtual ::persona::DefaultAppearance
const& getDefaultAppearance(uint
const& defaultIndexOverride) = 0;
143 virtual ::persona::DefaultAppearanceManager
const& getDefaultAppearanceManager()
const = 0;
145 virtual void createSplitscreenUser(::std::string xuid,
int splitscreenID, ::Json::Value&& appearanceData) = 0;
147 virtual ::PersonaAppearance
const getSplitscreenAppearance(::std::string
const& xuid,
int const controllerID) = 0;
150 saveSplitscreenAppearanceData(::std::string
const& xuid,
int splitscreenID, ::Json::Value&& appearanceData) = 0;
152 virtual void loadDefaultCharactersIfNeeded() = 0;
155 addToOfflinePersonaCatalogMap(::persona::PieceOfferWrapper
const& personaOffer, ::std::string
const playfabId) = 0;
157 virtual ::std::vector<::std::string>
const
158 getAllPiecesFromOfflineMapForPlayfabId(::std::string
const& playfabId)
const = 0;
160 virtual void loadOfflinePieceMapIntoStoreCatalog(::DateManager
const& dateManager) = 0;
162 virtual void queuePersonaGeneralError(::persona::PersonaError errorType) = 0;
164 virtual void downloadAndLoadPieces(
165 ::std::vector<::std::string>
const& productIds,
166 ::std::vector<::std::string>
const& pieceIds
169 virtual void update(
bool inOrStartingGameplay, ::std::shared_ptr<::ActorAnimationGroup> actorAnimationGroup) = 0;
171 virtual void queueContentReload(::std::shared_ptr<::ActorAnimationGroup> actorAnimationGroup) = 0;
173 virtual ::std::shared_ptr<::persona::debug::PersonaDebugApi> getPersonaDebugApi() = 0;
175 virtual ::PersonaCharacter& _addCharacter(::persona::ProfileType profileType, ::std::string
const& playFabId) = 0;
Definition ActorAnimationGroup.h:22
Definition EnableNonOwnerReferences.h:7
Definition DateManager.h:14
Definition IPersonaRepository.h:5
Definition PersonaAppearance.h:5
Definition PersonaPiece.h:22
Definition SemVersion.h:15
Definition SkinHandle.h:5
Definition TintMapColor.h:8
Definition DefaultAppearanceManager.h:7
Definition PersonaCharacterHandleArray.h:7
Definition PieceHandle.h:7
Definition PieceOfferWrapper.h:7
Definition PersonaDebugApi.h:7
Definition PersonaCharacter.h:5
Definition DefaultAppearance.h:7
Definition PersonaCharacterHandle.h:10