3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/screens/models/ContentType.h"
7#include "mc/client/services/download/IMarketplacePackDownloader.h"
8#include "mc/client/world/IWorldPackCollectionManager.h"
9#include "mc/client/world/PackAction.h"
10#include "mc/client/world/PackActionError.h"
11#include "mc/client/world/WorldContentItemCollectionsModel.h"
12#include "mc/deps/core/utility/NonOwnerPointer.h"
13#include "mc/deps/core/utility/pub_sub/Publisher.h"
14#include "mc/deps/core/utility/pub_sub/Subscription.h"
15#include "mc/util/PublishedValue.h"
21class IEntitlementManager;
40 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager>> mEntitlementManager;
41 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IContentTierManager const>> mContentTierManager;
42 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IMarketplacePackDownloader>> mMarketplacePackDownloader;
43 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mMarketplacePackDownloaderStatusSub;
44 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ContentSource>> mContentSource;
45 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::MutableContentItemCollection>> mContentItemCollection;
46 ::ll::TypedStorage<8, 48, ::Bedrock::PubSub::Publisher<void(), ::Bedrock::PubSub::ThreadModel::SingleThreaded, 0>>
47 mContentItemCollectionDirtyPublisher;
48 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ContentItemCollectionViewUtils::SelectedReloadProps>>
50 ::ll::TypedStorage<1, 1, bool> mIsEditorEnabled;
51 ::ll::TypedStorage<8, 96, ::WorldContentItemCollectionsModel> mWorldContentItemCollectionsModel;
52 ::ll::TypedStorage<8, 136, ::PublishedValue<::std::optional<::World::PendingPackAction>>> mPendingPackAction;
57 WorldPackCollectionManagerImpl();
64 virtual void setContentSource(::std::unique_ptr<::ContentSource>&& contentSource) ;
66 virtual void resetContent() ;
68 virtual ::Bedrock::PubSub::Subscription
69 subscribeToContentItemCollectionDirtySubscription(::std::function<
void()>&& callback) ;
71 virtual ::WorldContentItemCollectionsModel getWorldCollectionsModel() const ;
73 virtual ::std::optional<::World::PackActionError> changePackPriority(
74 ::std::
string const& packIdVersion,
75 ::ContentType packType,
80 virtual ::std::optional<::World::PackActionError>
81 activatePack(::std::
string const& packIdVersion, ::ContentType packType,
bool ignoreWarnings) ;
83 virtual ::std::optional<::World::PackActionError>
84 deactivatePack(::std::
string const& packIdVersion, ::ContentType packType,
bool ignoreWarnings) ;
86 virtual ::std::optional<::World::PackActionError> continuePendingPackAction() ;
88 virtual
void clearPendingPackAction() ;
90 virtual ::Bedrock::PubSub::Subscription subscribeToPendingPackActionPublisher(
91 ::std::function<
void(::std::optional<::World::PendingPackAction>)> callback
94 virtual ::std::optional<::PackSettingsInfo>
95 getPackSettingsForPackIdVersion(::std::
string const& packIdVersion) ;
97 virtual ::Bedrock::PubSub::Subscription subscribeToMarketplacePackDownloadStatus(
98 ::std::function<
void(::IMarketplacePackDownloader::MarketplacePackDownloadStatus)>&& onDownloadStatusChange
101 virtual ~WorldPackCollectionManagerImpl() ;
107 MCAPI WorldPackCollectionManagerImpl(
108 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager,
109 ::Bedrock::NotNullNonOwnerPtr<::IContentTierManager const> contentTierManager,
110 ::std::unique_ptr<::IMarketplacePackDownloader>&& marketplacePackDownloader
113 MCAPI
void _completePackDownload();
115 MCAPI ::WorldContentItemCollectionsModel _generatePackCollectionsModel();
117 MCAPI ::std::shared_ptr<::ContentItemCollection>
118 _getAvailableContentItemCollection(::ContentType contentType) const;
120 MCAPI ::std::vector<::std::pair<::PackIdVersion, ::PackContentItemListPosition>> _getCurrentSelectedContent();
122 MCAPI ::std::shared_ptr<::ContentItemCollection>
123 _getMarketplacePassContentItemCollection(::ContentType contentType) const;
125 MCAPI ::std::optional<::World::PackActionError> _handlePackMoveContinue();
127 MCAPI ::std::optional<::World::PackActionError> _movePackContent(
128 ::std::
string const& packIdVersion,
129 ::ContentType packType,
130 ::World::PackAction packAction,
134 MCAPI
void _populateDependencies(::std::vector<::std::shared_ptr<::ContentItem>>& sourceItems);
136 MCAPI
void _reconcilePendingContent(
137 ::std::vector<::std::pair<::PackIdVersion, ::PackContentItemListPosition>> const& selectedPacks
140 MCAPI
void _reloadContentSource();
142 MCAPI
void _setInitialSelectedPacks(::std::vector<::std::shared_ptr<::ContentItem>> const& sourceItems);
144 MCAPI
void _setupDownload(::std::
string const& packIdVersion, ::ContentType packType);
151 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager,
152 ::Bedrock::NotNullNonOwnerPtr<::IContentTierManager const> contentTierManager,
153 ::std::unique_ptr<::IMarketplacePackDownloader>&& marketplacePackDownloader
168 MCAPI
void $setContentSource(::std::unique_ptr<::ContentSource>&& contentSource);
170 MCAPI
void $resetContent();
172 MCAPI ::Bedrock::PubSub::Subscription
173 $subscribeToContentItemCollectionDirtySubscription(::std::function<
void()>&& callback);
175 MCAPI ::WorldContentItemCollectionsModel $getWorldCollectionsModel() const;
177 MCAPI ::std::optional<::World::PackActionError>
178 $changePackPriority(::std::
string const& packIdVersion, ::ContentType packType,
int fromPosition,
int toPosition);
180 MCAPI ::std::optional<::World::PackActionError>
181 $activatePack(::std::
string const& packIdVersion, ::ContentType packType,
bool ignoreWarnings);
183 MCAPI ::std::optional<::World::PackActionError>
184 $deactivatePack(::std::
string const& packIdVersion, ::ContentType packType,
bool ignoreWarnings);
186 MCAPI ::std::optional<::World::PackActionError> $continuePendingPackAction();
188 MCAPI
void $clearPendingPackAction();
190 MCAPI ::Bedrock::PubSub::Subscription
191 $subscribeToPendingPackActionPublisher(::std::function<
void(::std::optional<::World::PendingPackAction>)> callback);
193 MCAPI ::std::optional<::PackSettingsInfo> $getPackSettingsForPackIdVersion(::std::
string const& packIdVersion);
195 MCAPI ::Bedrock::PubSub::Subscription $subscribeToMarketplacePackDownloadStatus(
196 ::std::function<
void(::IMarketplacePackDownloader::MarketplacePackDownloadStatus)>&& onDownloadStatusChange
Definition ContentItemCollection.h:5
Definition IContentTierManager.h:13
Definition IMarketplacePackDownloader.h:5
Definition MutableContentItemCollection.h:5
Definition WorldPackCollectionManagerImpl.h:7
static MCAPI void ** $vftable()
Definition SingleThreaded.h:7
Definition SelectedReloadProps.h:7
Definition ContentItem.h:5
Definition ContentSource.h:5
Definition PackContentItemListPosition.h:5
Definition PackIdVersion.h:10
Definition PackSettingsInfo.h:5
Definition PendingPackAction.h:7