LeviLamina
Loading...
Searching...
No Matches
ActorMigratedDefinitionFactory.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/string/HashedString.h"
7#include "mc/deps/puv/ComponentStorageLoadDataRefVariant.h"
8#include "mc/deps/puv/LoadResultBetaVariant.h"
9#include "mc/deps/resource_processing/category/CategoryLoader.h"
10#include "mc/resources/JsonBetaState.h"
11
12// auto generated forward declare list
13// clang-format off
14class ActorDefinition;
17class Experiments;
19class SemVersion;
22namespace JsonComponentGlueUtils { struct ActorLoaderTraits; }
23namespace JsonComponentGlueUtils { struct CustomUpgradeData; }
24namespace Puv { class Input; }
25namespace SharedTypes::Beta { struct ActorDefinitions; }
26namespace SharedTypes::Beta { struct ActorDocument; }
27namespace SharedTypes::Legacy { struct ActorDocument; }
28namespace SharedTypes::Legacy { struct ActorDocumentCorrected; }
29namespace SharedTypes::v1_21_100 { struct ActorDocument; }
30namespace SharedTypes::v1_21_110 { struct ActorDocument; }
31namespace SharedTypes::v1_21_120 { struct ActorDocument; }
32namespace SharedTypes::v1_21_130 { struct ActorDocument; }
33namespace SharedTypes::v1_21_90 { struct ActorDocument; }
34namespace SharedTypes::v1_26_0 { struct ActorDocument; }
35namespace SharedTypes::v1_26_10 { struct ActorDocument; }
36namespace SharedTypes::v1_26_20 { struct ActorDefinitions; }
37namespace SharedTypes::v1_26_20 { struct ActorDocument; }
38namespace cereal { class DynamicValue; }
39namespace cereal { struct ReflectionCtx; }
40// clang-format on
41
42class ActorMigratedDefinitionFactory {
43public:
44 // ActorMigratedDefinitionFactory inner types define
45 enum class InitResult : int {
46 Success = 0,
47 BetaFeaturesNotEnabled = 1,
48 };
49
50 using FillDefinitionCb = ::std::function<::ActorMigratedDefinitionFactory::InitResult(
55 ::JsonBetaState
56 )>;
57
58 using FillDescriptionCb = ::ActorMigratedDefinitionFactory::InitResult (*)(
64 );
65
66 using LoaderPtr =
67 ::std::unique_ptr<::Bedrock::Resources::CategoryLoader<::JsonComponentGlueUtils::ActorLoaderTraits>>;
68
70
71 using SerializerPtr = ::std::unique_ptr<::IJsonDefinitionSerializer>;
72
73public:
74 // member variables
75 // NOLINTBEGIN
76 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cereal::ReflectionCtx>> mCerealContext;
77 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::std::unique_ptr<::IJsonDefinitionSerializer>>>
78 mDefinitionSerializers;
79 ::ll::TypedStorage<
80 8,
81 24,
82 ::std::vector<::ActorMigratedDefinitionFactory::InitResult (*)(
88 )>>
89 mFillActorDescriptionCbs;
90 ::ll::TypedStorage<
91 8,
92 24,
93 ::std::vector<::std::function<::ActorMigratedDefinitionFactory::InitResult(
98 ::JsonBetaState
99 )>>>
100 mFillActorDefinitionCbs;
101 ::ll::TypedStorage<
102 8,
103 216,
104 ::std::tuple<
105 ::std::vector<void (*)(::Puv::CerealUpgrader<
109 ::std::vector<void (*)(::Puv::CerealUpgrader<
113 ::std::vector<void (*)(::Puv::CerealUpgrader<
117 ::std::vector<void (*)(::Puv::CerealUpgrader<
121 ::std::vector<void (*)(::Puv::CerealUpgrader<
125 ::std::vector<void (*)(::Puv::CerealUpgrader<
129 ::std::vector<void (*)(::Puv::CerealUpgrader<
133 ::std::vector<void (*)(::Puv::CerealUpgrader<
137 ::std::vector<void (*)(::Puv::CerealUpgrader<
141 mLegacyUpgradeCallbacks;
142 ::ll::TypedStorage<8, 16, ::std::map<::HashedString, ::SemVersion>> mVersionedDefinitions;
143 ::ll::TypedStorage<
144 8,
145 8,
146 ::std::unique_ptr<::Bedrock::Resources::CategoryLoader<::JsonComponentGlueUtils::ActorLoaderTraits>>>
147 mDocumentLoader;
148 // NOLINTEND
149
150public:
151 // prevent constructor by default
152 ActorMigratedDefinitionFactory();
153
154public:
155 // member functions
156 // NOLINTBEGIN
157 MCAPI explicit ActorMigratedDefinitionFactory(::Experiments const& experiments);
158
159 MCAPI void _bindActorDocumentTypes();
160
161 MCAPI void _initialize(::Experiments const&);
162
163 MCAPI ::IJsonDefinitionSerializer* _tryGetDefinitionSerializer(::std::string_view name) const;
164
165 MCAPI void applyLegacyUpgradeCallbacks_v1_21_89(
170 ) const;
171
172 MCAPI ::ActorMigratedDefinitionFactory::InitResult fillActorDefinition(
178 ::JsonBetaState canUseBeta
179 ) const;
180
181 MCAPI ::Puv::LoadResultBetaVariant<::SharedTypes::v1_26_20::ActorDocument, ::SharedTypes::Beta::ActorDocument>
182 loadDocument(::Puv::Input const& input, ::SemVersion const& version, ::Experiments const& experiments) const;
183
184 MCAPI void resetLoader();
185
186 MCAPI void
187 setLoaderCustomData(::BedrockLoadContext customParseData, ::DeserializeDataSettings customUpgradeData) const;
188
189 MCAPI ~ActorMigratedDefinitionFactory();
190 // NOLINTEND
191
192public:
193 // static functions
194 // NOLINTBEGIN
195 MCAPI static ::LegacyGoalDefinition _parseLegacyGoalDefinition(
196 ::std::string name,
197 ::cereal::DynamicValue const& def,
198 ::DeserializeDataSettings const& settings
199 );
200 // NOLINTEND
201
202public:
203 // constructor thunks
204 // NOLINTBEGIN
205 MCAPI void* $ctor(::Experiments const& experiments);
206 // NOLINTEND
207
208public:
209 // destructor thunk
210 // NOLINTBEGIN
211 MCAPI void $dtor();
212 // NOLINTEND
213};
Definition ActorDefinitionDescriptor.h:74
Definition ActorDefinition.h:83
Definition BedrockLoadContext.h:15
Definition CategoryLoader.h:8
Definition ComponentStorageLoadDataRefVariant.h:6
Definition Experiments.h:14
Definition IJsonDefinitionSerializer.h:16
Definition _HeaderOutputPredefine.h:358
Definition Input.h:15
Definition SemVersion.h:15
Definition DynamicValue.h:10
Definition DeserializeDataSettings.h:14
Definition ActorLoaderTraits.h:25
Definition CustomUpgradeData.h:15
Definition LegacyGoalDefinition.h:33
Definition ActorDefinitions.h:15
Definition ActorDocument.h:17
Definition ActorDocumentCorrected.h:17
Definition ActorDocument.h:18
Definition ActorDocument.h:17
Definition ActorDocument.h:17
Definition ActorDocument.h:17
Definition ActorDocument.h:18
Definition ActorDocument.h:17
Definition ActorDocument.h:18
Definition ActorDocument.h:18
Definition ActorDefinitions.h:15
Definition ActorDocument.h:18
Definition ReflectionCtx.h:11