3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/persona/IPersonaPieceProvider.h"
7#include "mc/client/persona/IPersonaRepository.h"
8#include "mc/client/persona/character/ICharacterCollection.h"
9#include "mc/client/persona/character/IPersonaCharacterEditor.h"
10#include "mc/client/persona/defaults/DefaultAppearanceManager.h"
11#include "mc/client/persona/piece_loading/IPersonaPiecePackLoader.h"
12#include "mc/deps/core/file/PathBuffer.h"
13#include "mc/deps/core/threading/Async.h"
14#include "mc/deps/core/threading/AsyncPromise.h"
15#include "mc/deps/core/utility/NonOwnerPointer.h"
16#include "mc/deps/shared_types/persona/ArmSizeType.h"
17#include "mc/deps/shared_types/persona/BodySizeType.h"
18#include "mc/deps/shared_types/persona/PieceSide.h"
19#include "mc/deps/shared_types/persona/PieceType.h"
20#include "mc/platform/UUID.h"
21#include "mc/world/actor/player/persona/PersonaError.h"
22#include "mc/world/actor/player/persona/ProfileType.h"
34class IEntitlementManager;
55class StoreCatalogRepository;
60namespace Json {
class Value; }
62namespace mce {
class Color; }
73namespace persona::color {
class ColorInfo; }
95 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mPersonaDefaultPath;
96 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mPersonaPremiumPath;
97 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mPersonaPremiumDevPath;
98 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mDevelopmentPacksPath;
99 ::ll::TypedStorage<8, 24, ::std::vector<::Core::PathBuffer<::std::string>>> mLegacyPersonaPremiumPaths;
100 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IPackSourceFactory>> mSourceFactory;
101 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IPackManifestFactory>> mManifestFactory;
102 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const>> mKeyProvider;
103 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ActorAnimationGroup>> mActorAnimationGroup;
123 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mPieceIds;
124 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::DlcBatchModel>> mDlcBatch;
131 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IPersonaImageProvider>> mImageProvider;
132 ::ll::TypedStorage<8, 16, ::gsl::not_null<::std::shared_ptr<::ISkinRepository>>> mSkinRepository;
133 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager>> mResourceLoadManager;
134 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing>> mEventing;
135 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::StoreCatalogRepository>> mStoreCatalog;
136 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::IContentAcquisition>> mContentAcquisition;
137 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::TaskGroup>>> mTaskGroup;
138 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::PersonaPiecePackLoader>>> mPiecePackLoader;
139 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::PersonaGeometryBuilder>>> mGeometryBuilder;
140 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::PersonaTextureBuilder>>> mTextureBuilder;
141 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::PersonaOfflineCache>>> mOfflineCache;
142 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::PersonaSkinRegistrar>>> mSkinRegistrar;
143 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::persona::CharacterCollection>>> mCharacterRepository;
144 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::PersonaCharacterEditor>>> mCharacterEditor;
145 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::persona::debug::PersonaDebugApi>> mDebugApi;
146 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::splitscreen::SplitscreenJsonAppearanceManager>>
147 mSplitscreenAppearanceManager;
148 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::persona::AchievementOfferCollectionManager>>
149 mAchievementOfferCollectionManager;
150 ::ll::TypedStorage<8, 48, ::persona::DefaultAppearanceManager> mPersonaDefaults;
151 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint, ::persona::PendingAppearance>> mLoadingPersonaAppearances;
152 ::ll::TypedStorage<8, 80, ::std::mutex> mLoadingPersonaAppearancesLock;
153 ::ll::TypedStorage<8, 24, ::std::vector<::PersonaRepository::PendingPieceDownloadBatch>>
154 mPendingPieceDownloadBatches;
155 ::ll::TypedStorage<8, 64, ::std::unordered_set<::mce::UUID>> mAllQueuedPieceDownloads;
156 ::ll::TypedStorage<8, 80, ::std::mutex> mEmoteParseLock;
157 ::ll::TypedStorage<8, 24, ::std::vector<uint>> mGeneralErrorQueue;
158 ::ll::TypedStorage<8, 8, int64> mGeneralErrorTimer;
159 ::ll::TypedStorage<1, 1, bool> mInitialized;
160 ::ll::TypedStorage<8, 24, ::Bedrock::Threading::AsyncPromise<void>> mInitPromise;
172 virtual bool isInitialized() const ;
174 virtual
bool isOfferLoading(::persona::PieceOfferWrapper const& personaOffer) const ;
176 virtual
bool isLoadingAppearances(::persona::PersonaCharacterHandleArray const& handles) const ;
178 virtual
bool isLoadingAppearance(::persona::PersonaCharacterHandle const& handle) const ;
180 virtual ::persona::PersonaCharacterHandle createPersonaOnUser(
181 ::persona::ProfileType profileType,
183 ::
std::
string const& playFabId,
184 ::
std::function<
void(::
std::
string const&)> callback
187 virtual ::persona::PersonaCharacterHandle createAStartingPersonaOnUser(
188 ::persona::ProfileType profileType,
189 ::
std::
string const& playFabId,
190 int defaultIndexOverride,
191 ::
std::function<
void(::
std::
string const&)> callback
195 ::
std::vector<::persona::PieceHandle> const& personaPieces,
196 ::
std::unordered_map<::SharedTypes::persona::PieceType, ::
TintMapColor> const& tintMap,
197 ::mce::Color const& skinColor,
198 ::SharedTypes::persona::ArmSizeType const& armSize
202 ::persona::ProfileType profileType,
204 ::
std::
string const& playFabId,
205 ::
std::function<
void(::
std::
string const&)> callback
209 ::persona::ProfileType profileType,
210 ::
std::
string const& playFabId,
211 uint const defaultAppearanceIndex,
212 ::
std::function<
void(::
std::
string const&)> callback
216 ::persona::ProfileType profileType,
217 ::mce::UUID const& defaultCharacterId,
218 ::
std::
string const& playFabId,
219 ::
std::function<
void(::
std::
string const&)> callback
222 virtual
void tryToReloadPersona(
223 ::persona::PersonaCharacterHandle const& handle,
225 ::
std::function<
void(::
std::
string const&)> callback
230 virtual
void saveOfflinePersonaCatalogCache() ;
232 virtual
void loadOfflinePersonaCatalogCache() ;
234 virtual
void registerPersonaSkinsForCharacter(::
PersonaCharacter& character) ;
236 virtual ::persona::DefaultAppearance const& getDefaultAppearance(uint const& defaultIndexOverride) ;
238 virtual ::persona::DefaultAppearanceManager const& getDefaultAppearanceManager() const ;
241 createSplitscreenUser(::
std::
string xuid,
int splitscreenID, ::Json::Value&& appearanceData) ;
244 getSplitscreenAppearance(::
std::
string const& xuid,
int const controllerID) ;
246 virtual
void saveSplitscreenAppearanceData(
247 ::
std::
string const& xuid,
249 ::Json::Value&& appearanceData
252 virtual
void loadDefaultCharactersIfNeeded() ;
254 virtual
void addToOfflinePersonaCatalogMap(
255 ::persona::PieceOfferWrapper const& personaOffer,
256 ::
std::
string const playfabId
259 virtual ::
std::vector<::
std::
string> const
260 getAllPiecesFromOfflineMapForPlayfabId(::
std::
string const& playfabId) const ;
262 virtual
void loadOfflinePieceMapIntoStoreCatalog(::
DateManager const& dateManager) ;
264 virtual
void queuePersonaGeneralError(::persona::PersonaError errorType) ;
266 virtual
void downloadAndLoadPieces(
267 ::
std::vector<::
std::
string> const& productIds,
268 ::
std::vector<::
std::
string> const& pieceIds
278 virtual ::
PersonaCharacter& getCharacter(::persona::PersonaCharacterHandle const& handle) ;
280 virtual
void removeCharacter(::
std::
string const& characterName) ;
282 virtual
void removeCharacter(::persona::PersonaCharacterHandle const& handle) ;
284 virtual
void changePiece(
285 ::persona::PersonaCharacterHandle const& currentCharacter,
286 ::SharedTypes::persona::PieceType const pieceType,
287 ::mce::UUID const& pieceId,
288 ::
std::
string const& productId,
289 ::persona::FreeItemState const& freeItemState,
290 ::SharedTypes::persona::PieceSide side,
291 ::
std::function<
void(
bool)> callback
294 virtual
void changePieces(
295 ::persona::PersonaCharacterHandle const& currentCharacter,
296 ::
std::vector<::persona::PieceToChange> const& pieces,
297 ::
std::function<
void(
bool)> callback
300 virtual
void removePieceByType(
301 ::persona::PersonaCharacterHandle const& currentCharacter,
302 ::SharedTypes::persona::PieceType const pieceTypeToRemove,
303 ::SharedTypes::persona::PieceSide const side,
304 ::
std::function<
void(
bool)> callback
307 virtual
void changeEmote(
308 ::persona::PersonaCharacterHandle const& currentCharacter,
309 ::
std::
string const& emotePieceId,
310 ::persona::FreeItemState const& freeItemState,
312 ::
std::function<
void(
bool)> callback
316 removeEmote(::persona::PersonaCharacterHandle const& currentCharacter,
int emoteWheelSlot) ;
318 virtual
void removeAllEmotes(::persona::PersonaCharacterHandle const& currentCharacterHandle) ;
320 virtual
void removeEmotesWithId(
321 ::persona::PersonaCharacterHandle const& currentCharacter,
322 ::
std::
string const& emoteId
325 virtual
void changeClassicSkin(
326 ::persona::PersonaCharacterHandle const& currentCharacter,
330 virtual
void changeArmSize(
331 ::persona::PersonaCharacterHandle const& currentCharacter,
332 ::SharedTypes::persona::ArmSizeType const& armSizeType,
333 ::
std::function<
void(
bool)> callback
336 virtual
void changeHeight(
337 ::persona::PersonaCharacterHandle const& currentCharacter,
338 ::SharedTypes::persona::BodySizeType const& bodyType,
339 ::
std::function<
void(
bool)> callback
342 virtual
void changePersonaTintColor(
343 ::persona::PersonaCharacterHandle const& currentCharacter,
344 ::SharedTypes::persona::PieceType const pieceType,
345 ::mce::Color const& color,
347 ::
std::function<
void(
bool)> callback
350 virtual
void changePersonaTintColors(
351 ::persona::PersonaCharacterHandle const& currentCharacter,
352 ::SharedTypes::persona::PieceType const pieceType,
353 ::
std::vector<::persona::color::ColorInfo> const& tintColors,
354 ::
std::function<
void(
bool)> callback
357 virtual
void savePersonaItems(::persona::PersonaCharacterHandle const& characterHandle) ;
359 virtual
void revertPersona(
360 ::persona::PersonaCharacterHandle const& currentCharacter,
361 ::
std::function<
void(
bool)> callback
364 virtual
void revertPersonaPiece(
365 ::persona::PersonaCharacterHandle const& handle,
366 ::SharedTypes::persona::PieceType const& pieceTypeToRevert
369 virtual
bool doesCharacterHavePieceOfTypeX(
370 ::persona::PersonaCharacterHandle const& currentCharacter,
371 ::SharedTypes::persona::PieceType const& pieceType
374 virtual
bool isPieceOwned(::persona::PieceHandle const& item) ;
376 virtual
void updatePersonaWithNewAppearance(
379 ::
std::function<
void(
bool)> callback
383 getPieceFromClassicSkin(::
std::
string const& skinSerializedName,
bool const reportFailure) const ;
385 virtual ::persona::PieceHandle getPieceHandle(::
std::
string const& pieceId) const ;
387 virtual
bool isPieceLoaded(::mce::UUID const& pieceId) const ;
389 virtual
bool isKnownPersonaPiece(::mce::UUID const& pieceId) const ;
391 virtual
bool isKnownPersonaPieceUnloaded(::mce::UUID const& pieceId) const ;
393 virtual
bool isPersonaPieceLoading(::mce::UUID const& peiceId) const ;
395 virtual
bool isPersonaPieceInRepo(::mce::UUID const& pieceId) const ;
397 virtual
bool isPersonaPieceInRepo(::
std::
string const& pieceId) const ;
399 virtual ::
PersonaPiece const& getPersonaPieceFromRepo(::
std::
string const& pieceId) const ;
401 virtual
void forEachPersonaPack(::
std::function<
void(::
Pack const&)> const& callback) const ;
403 virtual ::
std::vector<::persona::PieceOfferWrapper>
404 getDefaultPieceWrappersOfTypes(::
std::vector<::SharedTypes::persona::PieceType> const& sections) const ;
406 virtual ::
SemVersion const& getVersionOfKnownPersonaPiecePack(::mce::UUID const& packId) const ;
408 virtual
void loadPiecePack(::mce::UUID packId) ;
410 virtual
void queueImportOfPersonaPiecePack(::gsl::not_null<::
std::shared_ptr<::
Pack>> pack) ;
412 virtual ::
std::vector<::
std::
string> const& getPieceIdsByType(::SharedTypes::persona::PieceType type) const
415 virtual ::
std::shared_ptr<::persona::debug::PersonaDebugApi> getPersonaDebugApi() ;
418 _addCharacter(::persona::ProfileType profileType, ::
std::
string const& playFabId) ;
424 MCNAPI PersonaRepository(
431 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager,
440 ::Bedrock::NotNullNonOwnerPtr<::StoreCatalogRepository> storeRepo,
441 ::Social::XboxLiveUser& xboxLiveUser,
446 ::
std::vector<::
std::
string> const& loadedPieces,
455 ::
std::function<
void(::
std::
string const&)> callback
462 MCNAPI ::persona::AchievementOfferCollectionManager&
466 ::Bedrock::NotNullNonOwnerPtr<::StoreCatalogRepository> storeCatalog,
482 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager,
501 ::persona::ProfileType profileType,
503 ::
std::
string const& playFabId,
504 ::
std::function<
void(::
std::
string const&)> callback
508 ::persona::ProfileType profileType,
509 ::
std::
string const& playFabId,
510 int defaultIndexOverride,
511 ::
std::function<
void(::
std::
string const&)> callback
515 ::
std::vector<::persona::PieceHandle> const& personaPieces,
516 ::
std::unordered_map<::SharedTypes::persona::PieceType, ::
TintMapColor> const& tintMap,
517 ::mce::Color const& skinColor,
518 ::SharedTypes::persona::ArmSizeType const& armSize
522 ::persona::ProfileType profileType,
524 ::
std::
string const& playFabId,
525 ::
std::function<
void(::
std::
string const&)> callback
529 ::persona::ProfileType profileType,
530 ::
std::
string const& playFabId,
531 uint const defaultAppearanceIndex,
532 ::
std::function<
void(::
std::
string const&)> callback
536 ::persona::ProfileType profileType,
537 ::mce::UUID const& defaultCharacterId,
538 ::
std::
string const& playFabId,
539 ::
std::function<
void(::
std::
string const&)> callback
543 ::persona::PersonaCharacterHandle const& handle,
545 ::
std::function<
void(::
std::
string const&)> callback
572 MCNAPI ::
std::vector<::
std::
string> const
580 ::
std::vector<::
std::
string> const& productIds,
581 ::
std::vector<::
std::
string> const& pieceIds
597 ::persona::PersonaCharacterHandle const& currentCharacter,
598 ::SharedTypes::persona::PieceType const pieceType,
599 ::mce::UUID const& pieceId,
600 ::
std::
string const& productId,
601 ::persona::FreeItemState const& freeItemState,
602 ::SharedTypes::persona::PieceSide side,
603 ::
std::function<
void(
bool)> callback
607 ::persona::PersonaCharacterHandle const& currentCharacter,
608 ::
std::vector<::persona::PieceToChange> const& pieces,
609 ::
std::function<
void(
bool)> callback
613 ::persona::PersonaCharacterHandle const& currentCharacter,
614 ::SharedTypes::persona::PieceType const pieceTypeToRemove,
615 ::SharedTypes::persona::PieceSide const side,
616 ::
std::function<
void(
bool)> callback
620 ::persona::PersonaCharacterHandle const& currentCharacter,
621 ::
std::
string const& emotePieceId,
622 ::persona::FreeItemState const& freeItemState,
624 ::
std::function<
void(
bool)> callback
627 MCNAPI
void $removeEmote(::persona::PersonaCharacterHandle const& currentCharacter,
int emoteWheelSlot);
629 MCNAPI
void $removeAllEmotes(::persona::PersonaCharacterHandle const& currentCharacterHandle);
638 ::persona::PersonaCharacterHandle const& currentCharacter,
639 ::SharedTypes::persona::ArmSizeType const& armSizeType,
640 ::
std::function<
void(
bool)> callback
644 ::persona::PersonaCharacterHandle const& currentCharacter,
645 ::SharedTypes::persona::BodySizeType const& bodyType,
646 ::
std::function<
void(
bool)> callback
650 ::persona::PersonaCharacterHandle const& currentCharacter,
651 ::SharedTypes::persona::PieceType const pieceType,
652 ::mce::Color const& color,
654 ::
std::function<
void(
bool)> callback
658 ::persona::PersonaCharacterHandle const& currentCharacter,
659 ::SharedTypes::persona::PieceType const pieceType,
660 ::
std::vector<::persona::color::ColorInfo> const& tintColors,
661 ::
std::function<
void(
bool)> callback
667 $revertPersona(::persona::PersonaCharacterHandle const& currentCharacter, ::
std::function<
void(
bool)> callback);
670 ::persona::PersonaCharacterHandle const& handle,
671 ::SharedTypes::persona::PieceType const& pieceTypeToRevert
675 ::persona::PersonaCharacterHandle const& currentCharacter,
676 ::SharedTypes::persona::PieceType const& pieceType
684 ::
std::function<
void(
bool)> callback
708 MCNAPI ::
std::vector<::persona::PieceOfferWrapper>
Definition ActorAnimationGroup.h:22
Definition ContentCatalogService.h:5
Definition DateManager.h:14
Definition DlcBatchModel.h:5
Definition GeometryGroup.h:5
Definition IAdvancedGraphicsOptions.h:10
Definition IContentAcquisition.h:5
Definition IContentKeyProvider.h:13
Definition IMinecraftEventing.h:152
Definition IOptionRegistry.h:5
Definition IPackManifestFactory.h:17
Definition IPackSourceFactory.h:29
Definition IPersonaCharacterEditor.h:5
Definition IPersonaImageProvider.h:5
Definition IPersonaPiecePackLoader.h:5
Definition IPersonaPieceProvider.h:5
Definition IPersonaRenderResourceProvider.h:5
Definition IPersonaRepository.h:5
Definition ISkinRepository.h:5
Definition PersonaAppearance.h:5
Definition PersonaCharacterEditor.h:5
Definition PersonaGeometryBuilder.h:5
Definition PersonaOfflineCache.h:5
Definition PersonaPiecePackLoader.h:5
Definition PersonaPiece.h:22
Definition PersonaRepository.h:5
MCAPI void $update(bool inOrStartingGameplay, ::std::shared_ptr<::ActorAnimationGroup > actorAnimationGroup)
MCAPI void $saveOfflinePersonaCatalogCache()
MCAPI::persona::AchievementOfferCollectionManager & getAchievementOfferCollectionManager(::Social::XboxLiveUser &xboxLiveUser, ::IOptionRegistry &options)
MCAPI bool $isPieceOwned(::persona::PieceHandle const &item)
MCAPI ::std::vector<::persona::PieceOfferWrapper > $getDefaultPieceWrappersOfTypes(::std::vector<::SharedTypes::persona::PieceType > const §ions) const
MCAPI::PersonaCharacter & $getCharacter(::std::string const &characterName)
MCAPI::PersonaPiece const & $getPieceFromClassicSkin(::std::string const &skinSerializedName, bool const reportFailure) const
MCAPI void onStoreCatalogReady(::Bedrock::NotNullNonOwnerPtr<::StoreCatalogRepository > storeCatalog, ::Bedrock::NotNullNonOwnerPtr<::IContentAcquisition > contentAcquisition, ::Bedrock::NotNullNonOwnerPtr<::ContentCatalogService > contentCatalogService)
MCAPI void $queueImportOfPersonaPiecePack(::gsl::not_null<::std::shared_ptr<::Pack > > pack)
MCAPI::persona::PieceHandle $getPieceHandle(::std::string const &pieceId) const
MCAPI::persona::AchievementOfferCollectionManager & _initializeAchievementCollectionOfferManagerIfNeeded(::Bedrock::NotNullNonOwnerPtr<::StoreCatalogRepository > storeRepo, ::Social::XboxLiveUser &xboxLiveUser, ::IOptionRegistry &options)
MCAPI::PersonaAppearance const $getSplitscreenAppearance(::std::string const &xuid, int const controllerID)
MCAPI void $loadPiecePack(::mce::UUID packId)
MCAPI void $addToOfflinePersonaCatalogMap(::persona::PieceOfferWrapper const &personaOffer, ::std::string const playfabId)
MCAPI bool $isAppearanceDefault(::PersonaAppearance const &appearance) const
MCAPI bool $isPersonaPieceLoading(::mce::UUID const &peiceId) const
MCAPI void $createSplitscreenUser(::std::string xuid, int splitscreenID, ::Json::Value &&appearanceData)
MCAPI void $removeAllEmotes(::persona::PersonaCharacterHandle const ¤tCharacterHandle)
MCAPI void $updatePersonaWithNewAppearance(::PersonaAppearance const &newAppearance, ::PersonaCharacter &character, ::std::function< void(bool)> callback)
MCAPI void $downloadAndLoadPieces(::std::vector<::std::string > const &productIds, ::std::vector<::std::string > const &pieceIds)
MCAPI void * $ctor(::std::unique_ptr<::IPersonaImageProvider > imageProvider, ::std::unique_ptr<::IPersonaRenderResourceProvider > renderResourceProvider, ::std::shared_ptr<::ISkinRepository > skinRepository, ::Bedrock::NotNullNonOwnerPtr<::IAdvancedGraphicsOptions > advancedGraphicsOptions, ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager > resourceLoadManager, ::Bedrock::NotNullNonOwnerPtr<::ResourcePackManager > resourcePackManager, ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager > entitlementManager, ::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing > eventing, ::Bedrock::NonOwnerPointer<::TextureHotReloader > textureReloader, ::std::shared_ptr<::GeometryGroup > skinGeometryGroup)
MCAPI::persona::DefaultAppearanceManager const & $getDefaultAppearanceManager() const
MCAPI bool $isPieceLoaded(::mce::UUID const &pieceId) const
MCAPI bool $isLoadingAppearances(::persona::PersonaCharacterHandleArray const &handles) const
MCAPI void $loadDefaultCharactersIfNeeded()
MCAPI void $tryToReloadPersona(::persona::PersonaCharacterHandle const &handle, ::PersonaAppearance const &newAppearance, ::std::function< void(::std::string const &)> callback)
MCAPI void $changePiece(::persona::PersonaCharacterHandle const ¤tCharacter, ::SharedTypes::persona::PieceType const pieceType, ::mce::UUID const &pieceId, ::std::string const &productId, ::persona::FreeItemState const &freeItemState, ::SharedTypes::persona::PieceSide side, ::std::function< void(bool)> callback)
MCAPI void $forEachPersonaPack(::std::function< void(::Pack const &)> const &callback) const
MCAPI ::std::vector<::std::string > const $getAllPiecesFromOfflineMapForPlayfabId(::std::string const &playfabId) const
MCAPI ::std::shared_ptr<::persona::debug::PersonaDebugApi > $getPersonaDebugApi()
MCAPI void $loadOfflinePieceMapIntoStoreCatalog(::DateManager const &dateManager)
MCAPI void $loadOfflinePersonaCatalogCache()
MCAPI bool $isLoadingAppearance(::persona::PersonaCharacterHandle const &handle) const
MCAPI void $savePersonaItems(::persona::PersonaCharacterHandle const &characterHandle)
MCAPI void $changeHeight(::persona::PersonaCharacterHandle const ¤tCharacter, ::SharedTypes::persona::BodySizeType const &bodyType, ::std::function< void(bool)> callback)
MCAPI void $revertPersonaPiece(::persona::PersonaCharacterHandle const &handle, ::SharedTypes::persona::PieceType const &pieceTypeToRevert)
MCAPI::SkinHandle $createPersona(::persona::ProfileType profileType, ::PersonaAppearance const &newAppearance, ::std::string const &playFabId, ::std::function< void(::std::string const &)> callback)
MCAPI void $changeEmote(::persona::PersonaCharacterHandle const ¤tCharacter, ::std::string const &emotePieceId, ::persona::FreeItemState const &freeItemState, int emoteWheelSlot, ::std::function< void(bool)> callback)
MCAPI::persona::DefaultAppearance const & $getDefaultAppearance(uint const &defaultIndexOverride)
MCAPI void $queuePersonaGeneralError(::persona::PersonaError errorType)
MCAPI void $removeEmote(::persona::PersonaCharacterHandle const ¤tCharacter, int emoteWheelSlot)
MCAPI void $changeArmSize(::persona::PersonaCharacterHandle const ¤tCharacter, ::SharedTypes::persona::ArmSizeType const &armSizeType, ::std::function< void(bool)> callback)
MCAPI bool $doesCharacterHavePieceOfTypeX(::persona::PersonaCharacterHandle const ¤tCharacter, ::SharedTypes::persona::PieceType const &pieceType)
MCAPI ::Bedrock::Threading::Async< void > beginStartupAsyncInit(::PersonaRepository::StartupParams &&startupParams)
MCAPI void $revertPersona(::persona::PersonaCharacterHandle const ¤tCharacter, ::std::function< void(bool)> callback)
MCAPI void $registerPersonaSkinsForCharacter(::PersonaCharacter &character)
MCAPI bool $isPersonaPieceInRepo(::mce::UUID const &pieceId) const
MCAPI::SkinHandle $createAStartingPersona(::persona::ProfileType profileType, ::std::string const &playFabId, uint const defaultAppearanceIndex, ::std::function< void(::std::string const &)> callback)
MCAPI::PersonaAppearance _createAppearanceFromJson(::Json::Value const &valueAppearance)
MCAPI::PersonaCharacter & $_addCharacter(::persona::ProfileType profileType, ::std::string const &playFabId)
MCAPI void $changePersonaTintColors(::persona::PersonaCharacterHandle const ¤tCharacter, ::SharedTypes::persona::PieceType const pieceType, ::std::vector<::persona::color::ColorInfo > const &tintColors, ::std::function< void(bool)> callback)
MCAPI void _updatePersona(::PersonaCharacter &character, ::PersonaAppearance const &newAppearance, ::std::function< void(::std::string const &)> callback)
MCAPI void _queueEmoteParse(::std::shared_ptr<::ActorAnimationGroup > actorAnimationGroup)
MCAPI void $removeEmotesWithId(::persona::PersonaCharacterHandle const ¤tCharacter, ::std::string const &emoteId)
MCAPI bool $isOfferLoading(::persona::PieceOfferWrapper const &personaOffer) const
MCAPI void $removeCharacter(::std::string const &characterName)
MCAPI ::std::vector<::std::string > const & $getPieceIdsByType(::SharedTypes::persona::PieceType type) const
MCAPI bool $isKnownPersonaPieceUnloaded(::mce::UUID const &pieceId) const
MCAPI void _processEmotesFromLoadedPieces(::std::vector<::std::string > const &loadedPieces, ::std::shared_ptr<::ActorAnimationGroup > actorAnimationGroup)
MCAPI void $saveSplitscreenAppearanceData(::std::string const &xuid, int splitscreenID, ::Json::Value &&appearanceData)
MCAPI void $changeClassicSkin(::persona::PersonaCharacterHandle const ¤tCharacter, ::SkinHandle const &handle)
MCAPI void $changePersonaTintColor(::persona::PersonaCharacterHandle const ¤tCharacter, ::SharedTypes::persona::PieceType const pieceType, ::mce::Color const &color, ushort channel, ::std::function< void(bool)> callback)
MCAPI void $changePieces(::persona::PersonaCharacterHandle const ¤tCharacter, ::std::vector<::persona::PieceToChange > const &pieces, ::std::function< void(bool)> callback)
MCAPI bool $isKnownPersonaPiece(::mce::UUID const &pieceId) const
MCAPI::persona::PersonaCharacterHandle $createAStartingPersonaOnUser(::persona::ProfileType profileType, ::std::string const &playFabId, int defaultIndexOverride, ::std::function< void(::std::string const &)> callback)
MCAPI::persona::PersonaCharacterHandle $createPersonaOnUser(::persona::ProfileType profileType, ::PersonaAppearance const &appearance, ::std::string const &playFabId, ::std::function< void(::std::string const &)> callback)
MCAPI::PersonaAppearance $createAppearancefromData(::std::vector<::persona::PieceHandle > const &personaPieces, ::std::unordered_map<::SharedTypes::persona::PieceType, ::TintMapColor > const &tintMap, ::mce::Color const &skinColor, ::SharedTypes::persona::ArmSizeType const &armSize)
MCAPI void $queueContentReload(::std::shared_ptr<::ActorAnimationGroup > actorAnimationGroup)
MCAPI::SemVersion const & $getVersionOfKnownPersonaPiecePack(::mce::UUID const &packId) const
MCAPI::PersonaPiece const & $getPersonaPieceFromRepo(::std::string const &pieceId) const
MCAPI bool $isInitialized() const
MCAPI void $removePieceByType(::persona::PersonaCharacterHandle const ¤tCharacter, ::SharedTypes::persona::PieceType const pieceTypeToRemove, ::SharedTypes::persona::PieceSide const side, ::std::function< void(bool)> callback)
MCAPI void createSplitScreenAppearanceManager(::std::string const &playFabId)
Definition PersonaSkinRegistrar.h:5
Definition PersonaTextureBuilder.h:5
Definition ResourceLoadManager.h:22
Definition ResourcePackManager.h:29
Definition SemVersion.h:15
Definition SkinHandle.h:5
Definition XboxLiveUser.h:7
Definition TaskGroup.h:85
Definition TintMapColor.h:8
Definition AchievementOfferCollectionManager.h:7
Definition CharacterCollection.h:7
Definition ICharacterCollection.h:7
Definition PendingAppearance.h:7
Definition PersonaCharacterHandleArray.h:7
Definition PieceHandle.h:7
Definition PieceOfferWrapper.h:7
Definition PersonaDebugApi.h:7
Definition SplitscreenJsonAppearanceManager.h:7
Definition PersonaCharacter.h:5
Definition PersonaRepository.h:16
Definition PersonaRepository.h:14
Definition TextureHotReloader.h:5
Definition DefaultAppearance.h:7
Definition FreeItemState.h:7
Definition PersonaCharacterHandle.h:10
Definition PieceToChange.h:7