LeviLamina
Loading...
Searching...
No Matches
SDLSkinPackCollectionModel.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/screens/models/DlcBatchCacheModel.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9#include "mc/platform/UUID.h"
10
11// auto generated forward declare list
12// clang-format off
14class IEntitlementManager;
15class IPersonaClient;
16class ISkinRepository;
17class IStoreCatalogItem;
18class IStoreCatalogRepository;
19class PackManifest;
20class PersonaClient;
21class SkinPackModel;
22namespace persona { class DlcImportTracker; }
23// clang-format on
24
26public:
27 // member variables
28 // NOLINTBEGIN
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, 16, ::std::set<::mce::UUID>> mCollectedPackIdentities;
37 ::ll::TypedStorage<8, 8, uint64> mStartFetchIndex;
38 ::ll::TypedStorage<8, 8, uint64> mVisibleEndRange;
39 ::ll::TypedStorage<4, 4, uint> mVisiblePacks;
40 ::ll::TypedStorage<4, 4, uint> mMaxPacksPerFetch;
41 // NOLINTEND
42
43public:
44 // prevent constructor by default
45 SDLSkinPackCollectionModel& operator=(SDLSkinPackCollectionModel const&);
46 SDLSkinPackCollectionModel(SDLSkinPackCollectionModel const&);
47 SDLSkinPackCollectionModel();
48
49public:
50 // member functions
51 // NOLINTBEGIN
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
58 );
59
60 MCAPI bool _canCollect(::mce::UUID const& packId) const;
61
62 MCAPI void _collectAndLoadSkinPack(::PackManifest const& packManifest);
63
64 MCAPI uint64 _collectBuiltInSkinPacks(bool isEduMode);
65
66 MCAPI uint64 _collectUserSkinPacks();
67
68 MCAPI void addBuiltInSkinPackModel(::std::shared_ptr<::SkinPackModel> skinPackModel);
69
70 MCAPI void collectOffers(::std::vector<::gsl::not_null<::IStoreCatalogItem*>> const& offers);
71
72 MCAPI uint64 collectSkinsForOffline(bool collectOwnedSkins, ::mce::UUID const& packId);
73
74 MCAPI void tick(::ui::DirtyFlag& dirtyFlags);
75
76 MCAPI ~SDLSkinPackCollectionModel();
77 // NOLINTEND
78
79public:
80 // constructor thunks
81 // NOLINTBEGIN
82 MCAPI void* $ctor(
83 ::Bedrock::NotNullNonOwnerPtr<::IContentAcquisition> contentAcquisition,
84 ::Bedrock::NotNullNonOwnerPtr<::IStoreCatalogRepository> storeCatalog,
85 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager,
86 ::std::shared_ptr<::ISkinRepository> skinRepository,
87 ::IPersonaClient& personaClient
88 );
89 // NOLINTEND
90
91public:
92 // destructor thunk
93 // NOLINTBEGIN
94 MCAPI void $dtor();
95 // NOLINTEND
96};
Definition IContentAcquisition.h:5
Definition IPersonaClient.h:5
Definition ISkinRepository.h:5
Definition PackManifest.h:39
Definition PersonaClient.h:5
Definition SDLSkinPackCollectionModel.h:5
Definition SkinPackModel.h:5
Definition DlcImportTracker.h:7