Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
IWorldPackCollectionManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/screens/models/ContentType.h"
7#include "mc/client/services/download/IMarketplacePackDownloader.h"
8#include "mc/client/world/PackActionError.h"
9
10// auto generated forward declare list
11// clang-format off
12struct ContentSource;
13struct PackContentItem;
14struct PackSettingsInfo;
16namespace Bedrock::PubSub { class Subscription; }
17namespace World { struct PendingPackAction; }
18// clang-format on
19
20namespace World {
21
23public:
24 // virtual functions
25 // NOLINTBEGIN
26 virtual ~IWorldPackCollectionManager() = default;
27
28 virtual void tick() = 0;
29
30 virtual void setContentSource(::std::unique_ptr<::ContentSource>&& contentSource) = 0;
31
32 virtual void resetContent() = 0;
33
34 virtual void reloadPacks() = 0;
35
36 virtual ::Bedrock::PubSub::Subscription
37 subscribeToContentItemCollectionDirtySubscription(::std::function<void()>&& callback) = 0;
38
39 virtual ::WorldContentItemCollectionsModel getWorldCollectionsModel() const = 0;
40
41 virtual ::std::optional<::World::PackActionError>
42 activatePack(::std::string const& packIdVersion, ::ContentType packType, bool ignoreWarnings) = 0;
43
44 virtual ::std::optional<::World::PackActionError>
45 deactivatePack(::std::string const& packIdVersion, ::ContentType packType, bool ignoreWarnings) = 0;
46
47 virtual ::std::optional<::World::PackActionError> continuePendingPackAction() = 0;
48
49 virtual void clearPendingPackAction() = 0;
50
51 virtual ::Bedrock::PubSub::Subscription subscribeToPendingPackActionPublisher(
52 ::std::function<void(::std::optional<::World::PendingPackAction>)> callback
53 ) = 0;
54
55 virtual ::std::optional<::World::PackActionError> changePackPriority(
56 ::std::string const& packIdVersion,
57 ::ContentType packType,
58 int fromPosition,
59 int toPosition
60 ) = 0;
61
62 virtual ::std::optional<::PackSettingsInfo> getPackSettingsForPackIdVersion(::std::string const& packIdVersion) = 0;
63
64 virtual ::std::shared_ptr<::PackContentItem const>
65 getPackItemForPackIdVersion(::std::string_view packIdVersion) = 0;
66
67 virtual ::Bedrock::PubSub::Subscription subscribeToMarketplacePackDownloadStatus(
68 ::std::function<void(::IMarketplacePackDownloader::MarketplacePackDownloadStatus)>&& onDownloadStatusChange
69 ) = 0;
70
71 virtual void setEditorEnabled(bool isEditorEnabled) = 0;
72
73 virtual bool getEditorEnabled() const = 0;
74 // NOLINTEND
75};
76
77} // namespace World
Definition Subscription.h:10
Definition IWorldPackCollectionManager.h:7
Definition ContentSource.h:5
Definition PackContentItem.h:5
Definition PackSettingsInfo.h:5
Definition WorldContentItemCollectionsModel.h:5
Definition PendingPackAction.h:7