Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
IPersonaRepository.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
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"
11
12// auto generated forward declare list
13// clang-format off
15class DateManager;
16class Pack;
18class PersonaPiece;
19class SemVersion;
20class SkinHandle;
21class TintMapColor;
22struct PersonaCharacter;
23namespace Json { class Value; }
24namespace mce { class Color; }
25namespace mce { class UUID; }
26namespace persona { class DefaultAppearanceManager; }
27namespace persona { class PersonaCharacterHandleArray; }
28namespace persona { class PieceHandle; }
29namespace persona { class PieceOfferWrapper; }
30namespace persona { struct DefaultAppearance; }
31namespace persona { struct PersonaCharacterHandle; }
32namespace persona::debug { class PersonaDebugApi; }
33// clang-format on
34
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual bool isInitialized() const = 0;
40
41 virtual bool isOfferLoading(::persona::PieceOfferWrapper const& personaOffer) const = 0;
42
43 virtual bool isPieceLoaded(::mce::UUID const& pieceId) const = 0;
44
45 virtual bool isKnownPersonaPiece(::mce::UUID const& pieceId) const = 0;
46
47 virtual bool isKnownPersonaPieceUnloaded(::mce::UUID const& pieceId) const = 0;
48
49 virtual bool isLoadingAppearances(::persona::PersonaCharacterHandleArray const& handles) const = 0;
50
51 virtual bool isLoadingAppearance(::persona::PersonaCharacterHandle const& handle) const = 0;
52
53 virtual bool isPersonaPieceLoading(::mce::UUID const& peiceId) const = 0;
54
55 virtual bool isPersonaPieceInRepo(::mce::UUID const& pieceId) const = 0;
56
57 virtual bool isPersonaPieceInRepo(::std::string const& pieceId) const = 0;
58
59 virtual ::PersonaPiece const& getPersonaPieceFromRepo(::std::string const& pieceId) const = 0;
60
61 virtual void forEachPersonaPack(::std::function<void(::Pack const&)> const& callback) const = 0;
62
63 virtual ::std::vector<::persona::PieceOfferWrapper>
64 getDefaultPieceWrappersOfTypes(::std::vector<::SharedTypes::persona::PieceType> const& sections) const = 0;
65
66 virtual ::SemVersion const& getVersionOfKnownPersonaPiecePack(::mce::UUID const& packId) const = 0;
67
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
73 ) = 0;
74
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
80 ) = 0;
81
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
87 ) = 0;
88
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
94 ) = 0;
95
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
101 ) = 0;
102
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
108 ) = 0;
109
110 virtual void tryToReloadPersona(
111 ::persona::PersonaCharacterHandle const& handle,
112 ::PersonaAppearance const& newAppearance,
113 ::std::function<void(::std::string const&)> callback
114 ) = 0;
115
116 virtual bool isAppearanceDefault(::PersonaAppearance const& appearance) const = 0;
117
118 virtual ::PersonaPiece const&
119 getPieceFromClassicSkin(::std::string const& skinSerializedName, bool const reportFailure) const = 0;
120
121 virtual void saveOfflinePersonaCatalogCache() = 0;
122
123 virtual void loadOfflinePersonaCatalogCache() = 0;
124
125 virtual void loadPiecePack(::mce::UUID packId) = 0;
126
127 virtual void queueImportOfPersonaPiecePack(::gsl::not_null<::std::shared_ptr<::Pack>> pack) = 0;
128
129 virtual ::PersonaCharacter& getCharacter(::std::string const& characterName) = 0;
130
131 virtual ::PersonaCharacter& getCharacter(::persona::PersonaCharacterHandle const& handle) = 0;
132
133 virtual void removeCharacter(::std::string const& characterName) = 0;
134
135 virtual void removeCharacter(::persona::PersonaCharacterHandle const& handle) = 0;
136
137 virtual void registerPersonaSkinsForCharacter(::PersonaCharacter& character) = 0;
138
139 virtual ::persona::PieceHandle getPieceHandle(::std::string const& pieceId) const = 0;
140
141 virtual ::persona::DefaultAppearance const& getDefaultAppearance(uint const& defaultIndexOverride) = 0;
142
143 virtual ::persona::DefaultAppearanceManager const& getDefaultAppearanceManager() const = 0;
144
145 virtual void createSplitscreenUser(::std::string xuid, int splitscreenID, ::Json::Value&& appearanceData) = 0;
146
147 virtual ::PersonaAppearance const getSplitscreenAppearance(::std::string const& xuid, int const controllerID) = 0;
148
149 virtual void
150 saveSplitscreenAppearanceData(::std::string const& xuid, int splitscreenID, ::Json::Value&& appearanceData) = 0;
151
152 virtual void loadDefaultCharactersIfNeeded() = 0;
153
154 virtual void
155 addToOfflinePersonaCatalogMap(::persona::PieceOfferWrapper const& personaOffer, ::std::string const playfabId) = 0;
156
157 virtual ::std::vector<::std::string> const
158 getAllPiecesFromOfflineMapForPlayfabId(::std::string const& playfabId) const = 0;
159
160 virtual void loadOfflinePieceMapIntoStoreCatalog(::DateManager const& dateManager) = 0;
161
162 virtual void queuePersonaGeneralError(::persona::PersonaError errorType) = 0;
163
164 virtual void downloadAndLoadPieces(
165 ::std::vector<::std::string> const& productIds,
166 ::std::vector<::std::string> const& pieceIds
167 ) = 0;
168
169 virtual void update(bool inOrStartingGameplay, ::std::shared_ptr<::ActorAnimationGroup> actorAnimationGroup) = 0;
170
171 virtual void queueContentReload(::std::shared_ptr<::ActorAnimationGroup> actorAnimationGroup) = 0;
172
173 virtual ::std::shared_ptr<::persona::debug::PersonaDebugApi> getPersonaDebugApi() = 0;
174
175 virtual ::PersonaCharacter& _addCharacter(::persona::ProfileType profileType, ::std::string const& playFabId) = 0;
176 // NOLINTEND
177};
Definition ActorAnimationGroup.h:22
Definition EnableNonOwnerReferences.h:7
Definition DateManager.h:14
Definition IPersonaRepository.h:5
Definition Value.h:16
Definition Pack.h:28
Definition PersonaAppearance.h:5
Definition PersonaPiece.h:22
Definition SemVersion.h:15
Definition SkinHandle.h:5
Definition TintMapColor.h:8
Definition Color.h:13
Definition UUID.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