3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/screens/models/DlcBatchCacheModel.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
14class IEntitlementManager;
17class IStoreCatalogItem;
18class IStoreCatalogRepository;
21namespace mce {
class UUID; }
29 ::ll::TypedStorage<8, 72, ::DlcBatchCacheModel> mDlcBatchCacheModel;
30 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ISkinRepository>> mSkinRepository;
31 ::ll::TypedStorage<8, 8, ::PersonaClient&> mPersonaClient;
32 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager>> mEntitlementManager;
33 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IStoreCatalogRepository>> mStoreCatalogRepository;
34 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::persona::DlcImportTracker>>> mTrackedImports;
35 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::SkinPackModel>>> mSkinPacks;
36 ::ll::TypedStorage<8, 8, uint64> mStartFetchIndex;
37 ::ll::TypedStorage<8, 8, uint64> mVisibleEndRange;
38 ::ll::TypedStorage<4, 4, uint> mVisiblePacks;
39 ::ll::TypedStorage<4, 4, uint> mMaxPacksPerFetch;
40 ::ll::TypedStorage<4, 4, int> mSideLoadedPacksCollected;
45 SDLSkinPackCollectionModel& operator=(SDLSkinPackCollectionModel
const&);
46 SDLSkinPackCollectionModel(SDLSkinPackCollectionModel
const&);
47 SDLSkinPackCollectionModel();
52 MCAPI SDLSkinPackCollectionModel(
53 ::Bedrock::NotNullNonOwnerPtr<::IContentAcquisition> contentAcquisition,
54 ::Bedrock::NotNullNonOwnerPtr<::IStoreCatalogRepository> storeCatalog,
55 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager,
56 ::std::shared_ptr<::ISkinRepository> skinRepository,
57 ::IPersonaClient& personaClient
60 MCAPI
void _addSkinPackModel(::mce::UUID
const& packId,
int index);
62 MCAPI
void _collectLegacySkins();
64 MCAPI
void _extractDlcIdFromOffer(::std::vector<::DlcId>& dlcIds, ::IStoreCatalogItem
const& calatogItem);
66 MCAPI
void addBuiltInSkinPackModel(::std::shared_ptr<::SkinPackModel> skinPackModel);
68 MCAPI uint64 collectLegacyAndSideLoadedSkinPacks();
70 MCAPI
void collectOffers(::std::vector<::gsl::not_null<::IStoreCatalogItem*>>
const& offers);
72 MCAPI uint64 collectSkinsForOffline(
bool collectOwnedSkins, ::mce::UUID
const& packId);
74 MCAPI ::std::shared_ptr<::SkinPackModel> getFirstSkinPack()
const;
76 MCAPI uint64 getNumSkinPacks()
const;
78 MCAPI ::std::shared_ptr<::SkinPackModel> getSkinPackAtIndex(uint64
const& skinPackIndex)
const;
80 MCFOLD uint64 getVisibleEndRange()
const;
82 MCAPI
void incrementVisibleEndRange(uint64
const& increment);
84 MCAPI
void setMaxPacksPerFetch(uint
const& maxPacksPerFetch);
86 MCAPI
void tick(::ui::DirtyFlag& dirtyFlags);
88 MCAPI ~SDLSkinPackCollectionModel();
95 ::Bedrock::NotNullNonOwnerPtr<::IContentAcquisition> contentAcquisition,
96 ::Bedrock::NotNullNonOwnerPtr<::IStoreCatalogRepository> storeCatalog,
97 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager,
98 ::std::shared_ptr<::ISkinRepository> skinRepository,
99 ::IPersonaClient& personaClient
Definition IContentAcquisition.h:5
Definition IPersonaClient.h:5
Definition ISkinRepository.h:5
Definition PersonaClient.h:5
Definition SDLSkinPackCollectionModel.h:5
Definition SkinPackModel.h:5
Definition DlcImportTracker.h:7