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 void isTemplateOwnedThroughPassOnly(::std::string const& templateId, ::std::function<void(bool)> callback);
80
81 MCAPI void update(double);
82 // NOLINTEND
83
84public:
85 // static variables
86 // NOLINTBEGIN
87 MCAPI static ::std::add_lvalue_reference_t<char const[]> MARKETPLACE_PASS_TEMPLATES_TITLE();
88
89 MCAPI static ::std::add_lvalue_reference_t<char const[]> REALMS_PLUS_QUERY_NAME();
90 // NOLINTEND
91
92public:
93 // constructor thunks
94 // NOLINTBEGIN
95 MCAPI void* $ctor(
96 ::Bedrock::NotNullNonOwnerPtr<::IStoreCatalogRepository> storeCatalogRepository,
97 ::Bedrock::NotNullNonOwnerPtr<::DateManager>,
98 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager,
99 ::Bedrock::NotNullNonOwnerPtr<::IWorldTemplateManager> worldTemplateManager,
100 ::IContentAcquisition& contentAquisition,
101 ::std::shared_ptr<::IMarketplaceContentOffersProvider> offersProvider
102 );
103
104 MCAPI void* $ctor(
105 ::Bedrock::NotNullNonOwnerPtr<::IStoreCatalogRepository> storeCatalogRepository,
106 ::Bedrock::NotNullNonOwnerPtr<::DateManager> dateManager,
107 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager,
108 ::Bedrock::NotNullNonOwnerPtr<::IWorldTemplateManager> worldTemplateManager,
109 ::ServicesManager& servicesManager,
110 ::IContentAcquisition& contentAquisition,
111 ::MarketplaceServicesManager& marketplaceServicesManager
112 );
113 // NOLINTEND
114
115public:
116 // destructor thunk
117 // NOLINTBEGIN
118 MCAPI void $dtor();
119 // NOLINTEND
120
121public:
122 // virtual function thunks
123 // NOLINTBEGIN
124 MCAPI void $_templateDownloadedCallback(::std::string const& templateId, bool success);
125 // NOLINTEND
126
127public:
128 // vftables
129 // NOLINTBEGIN
130 MCNAPI static void** $vftable();
131 // NOLINTEND
132};
133
134} // 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