LeviLamina
Loading...
Searching...
No Matches
MarketplacePassWorldTemplateManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/world/DownloadableTemplateManagerBase.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/deps/core/utility/pub_sub/Subscription.h"
9
10// auto generated forward declare list
11// clang-format off
12class DateManager;
14class IEntitlementManager;
16class IStoreCatalogRepository;
18class MarketplaceServicesManager;
19class ServicesManager;
20namespace World { struct MarketplaceWorldTemplateData; }
21// clang-format on
22
23namespace World {
24
25class MarketplacePassWorldTemplateManager : public ::World::DownloadableTemplateManagerBase {
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<1, 1, bool> mIsDirty;
30 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IStoreCatalogRepository>> mStoreCatalogRepository;
31 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::IMarketplaceContentOffersProvider>> mSuggestedContentOffersProvider;
32 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOfferPurchaseSuccessSubscription;
33 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mTemplateManagerModificationSubscription;
34 ::ll::TypedStorage<8, 24, ::std::vector<::World::MarketplaceWorldTemplateData>> mMarketplacePassWorldTemplateList;
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
39 MarketplacePassWorldTemplateManager();
40
41public:
42 // virtual functions
43 // NOLINTBEGIN
44 virtual ~MarketplacePassWorldTemplateManager() /*override*/;
45
46 virtual void _templateDownloadedCallback(::std::string const& templateId, bool success) /*override*/;
47 // NOLINTEND
48
49public:
50 // member functions
51 // NOLINTBEGIN
52 MCAPI MarketplacePassWorldTemplateManager(
53 ::Bedrock::NotNullNonOwnerPtr<::IStoreCatalogRepository> storeCatalogRepository,
54 ::Bedrock::NotNullNonOwnerPtr<::DateManager>,
55 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager,
56 ::Bedrock::NotNullNonOwnerPtr<::IWorldTemplateManager> worldTemplateManager,
57 ::IContentAcquisition& contentAquisition,
58 ::std::shared_ptr<::IMarketplaceContentOffersProvider> offersProvider
59 );
60
61 MCAPI MarketplacePassWorldTemplateManager(
62 ::Bedrock::NotNullNonOwnerPtr<::IStoreCatalogRepository> storeCatalogRepository,
63 ::Bedrock::NotNullNonOwnerPtr<::DateManager> dateManager,
64 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager,
65 ::Bedrock::NotNullNonOwnerPtr<::IWorldTemplateManager> worldTemplateManager,
66 ::ServicesManager& servicesManager,
67 ::IContentAcquisition& contentAquisition,
68 ::MarketplaceServicesManager& marketplaceServicesManager
69 );
70
71 MCAPI ::std::vector<::World::MarketplaceWorldTemplateData> _getTemplates();
72
73 MCAPI void _localWorldUpdateCallback(::std::pair<::std::string, bool> const& updatedTemplateData);
74
75 MCAPI void _onOfferPurchased(::std::string const& productId);
76
77 MCAPI void _prepareOffers();
78
79 MCAPI bool areSuggestedOffersLoaded() const;
80
81 MCFOLD ::std::vector<::World::MarketplaceWorldTemplateData> const& getMarketplacePassWorldTemplateList() const;
82
83 MCAPI ::std::string getSeeMorePageId() const;
84
85 MCAPI ::std::optional<::std::string> getSuggestedOffersTitle() const;
86
87 MCFOLD bool isDirty() const;
88
89 MCAPI void isTemplateOwnedThroughPassOnly(::std::string const& templateId, ::std::function<void(bool)> callback);
90
91 MCAPI void refreshOffers();
92
93 MCAPI void update(double);
94 // NOLINTEND
95
96public:
97 // static variables
98 // NOLINTBEGIN
99 MCAPI static ::std::add_lvalue_reference_t<char const[]> MARKETPLACE_PASS_TEMPLATES_TITLE();
100
101 MCAPI static ::std::add_lvalue_reference_t<char const[]> REALMS_PLUS_QUERY_NAME();
102 // NOLINTEND
103
104public:
105 // constructor thunks
106 // NOLINTBEGIN
107 MCAPI void* $ctor(
108 ::Bedrock::NotNullNonOwnerPtr<::IStoreCatalogRepository> storeCatalogRepository,
109 ::Bedrock::NotNullNonOwnerPtr<::DateManager>,
110 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager,
111 ::Bedrock::NotNullNonOwnerPtr<::IWorldTemplateManager> worldTemplateManager,
112 ::IContentAcquisition& contentAquisition,
113 ::std::shared_ptr<::IMarketplaceContentOffersProvider> offersProvider
114 );
115
116 MCAPI void* $ctor(
117 ::Bedrock::NotNullNonOwnerPtr<::IStoreCatalogRepository> storeCatalogRepository,
118 ::Bedrock::NotNullNonOwnerPtr<::DateManager> dateManager,
119 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager,
120 ::Bedrock::NotNullNonOwnerPtr<::IWorldTemplateManager> worldTemplateManager,
121 ::ServicesManager& servicesManager,
122 ::IContentAcquisition& contentAquisition,
123 ::MarketplaceServicesManager& marketplaceServicesManager
124 );
125 // NOLINTEND
126
127public:
128 // destructor thunk
129 // NOLINTBEGIN
130 MCAPI void $dtor();
131 // NOLINTEND
132
133public:
134 // virtual function thunks
135 // NOLINTBEGIN
136 MCAPI void $_templateDownloadedCallback(::std::string const& templateId, bool success);
137 // NOLINTEND
138
139public:
140 // vftables
141 // NOLINTBEGIN
142 MCNAPI static void** $vftable();
143 // NOLINTEND
144};
145
146} // namespace World
Definition DateManager.h:14
Definition IContentAcquisition.h:5
Definition IMarketplaceContentOffersProvider.h:5
Definition IWorldTemplateManager.h:17
Definition MarketplacePassWorldTemplateManager.h:7
Definition MarketplaceWorldTemplateData.h:7