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/resource_processing/category/CategoryLoader.h"
8#include "mc/resources/JsonBetaState.h"
9
10// auto generated forward declare list
11// clang-format off
12class ActorDefinition;
15class Experiments;
17class SemVersion;
20namespace JsonComponentGlueUtils { struct ActorLoaderTraits; }
21namespace JsonComponentGlueUtils { struct CustomUpgradeData; }
22namespace SharedTypes::Legacy { struct ActorDocumentCorrected; }
23namespace SharedTypes::v1_21_100 { struct ActorDocument; }
24namespace SharedTypes::v1_21_110 { struct ActorDocument; }
25namespace SharedTypes::v1_21_120 { struct ActorDocument; }
26namespace SharedTypes::v1_21_130 { struct ActorDocument; }
27namespace SharedTypes::v1_21_90 { struct ActorDocument; }
28namespace SharedTypes::v1_26_0 { struct ActorDocument; }
29namespace SharedTypes::v1_26_10 { struct ActorDefinitions; }
30namespace SharedTypes::v1_26_10 { struct ActorDocument; }
31namespace cereal { class DynamicValue; }
32namespace cereal { struct ReflectionCtx; }
33// clang-format on
34
35class ActorMigratedDefinitionFactory {
36public:
37 // ActorMigratedDefinitionFactory inner types define
38 enum class InitResult : int {
39 Success = 0,
40 BetaFeaturesNotEnabled = 1,
41 };
42
43 using FillDefinitionCb = ::std::function<
44 ::ActorMigratedDefinitionFactory::
46
47 using FillDescriptionCb = ::ActorMigratedDefinitionFactory::InitResult (*)(
51 );
52
53 using LoaderPtr =
54 ::std::unique_ptr<::Bedrock::Resources::CategoryLoader<::JsonComponentGlueUtils::ActorLoaderTraits>>;
55
57
58 using SerializerPtr = ::std::unique_ptr<::IJsonDefinitionSerializer>;
59
60public:
61 // member variables
62 // NOLINTBEGIN
63 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cereal::ReflectionCtx>> mCerealContext;
64 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::std::unique_ptr<::IJsonDefinitionSerializer>>>
65 mDefinitionSerializers;
66 ::ll::TypedStorage<
67 8,
68 24,
69 ::std::vector<::ActorMigratedDefinitionFactory::InitResult (*)(
73 )>>
74 mFillActorDescriptionCbs;
75 ::ll::TypedStorage<
76 8,
77 24,
78 ::std::vector<::std::function<
79 ::ActorMigratedDefinitionFactory::
81 mFillActorDefinitionCbs;
82 ::ll::TypedStorage<
83 8,
84 168,
85 ::std::tuple<
86 ::std::vector<void (*)(::Puv::CerealUpgrader<
90 ::std::vector<void (*)(::Puv::CerealUpgrader<
94 ::std::vector<void (*)(::Puv::CerealUpgrader<
98 ::std::vector<void (*)(::Puv::CerealUpgrader<
102 ::std::vector<void (*)(::Puv::CerealUpgrader<
106 ::std::vector<void (*)(::Puv::CerealUpgrader<
110 ::std::vector<void (*)(::Puv::CerealUpgrader<
114 mLegacyUpgradeCallbacks;
115 ::ll::TypedStorage<8, 16, ::std::map<::HashedString, ::SemVersion>> mVersionedDefinitions;
116 ::ll::TypedStorage<
117 8,
118 8,
119 ::std::unique_ptr<::Bedrock::Resources::CategoryLoader<::JsonComponentGlueUtils::ActorLoaderTraits>>>
120 mDocumentLoader;
121 // NOLINTEND
122
123public:
124 // prevent constructor by default
125 ActorMigratedDefinitionFactory();
126
127public:
128 // member functions
129 // NOLINTBEGIN
130 MCAPI explicit ActorMigratedDefinitionFactory(::Experiments const& experiments);
131
132 MCAPI void _initialize(::Experiments const& experiments);
133
134 MCAPI ::IJsonDefinitionSerializer* _tryGetDefinitionSerializer(::std::string_view name) const;
135
136 MCAPI void resetLoader();
137
138 MCAPI void
139 setLoaderCustomData(::BedrockLoadContext customParseData, ::DeserializeDataSettings customUpgradeData) const;
140
141 MCAPI ~ActorMigratedDefinitionFactory();
142 // NOLINTEND
143
144public:
145 // static functions
146 // NOLINTBEGIN
147 MCAPI static ::LegacyGoalDefinition _parseLegacyGoalDefinition(
148 ::std::string name,
149 ::cereal::DynamicValue const& def,
150 ::DeserializeDataSettings const& settings
151 );
152 // NOLINTEND
153
154public:
155 // constructor thunks
156 // NOLINTBEGIN
157 MCAPI void* $ctor(::Experiments const& experiments);
158 // NOLINTEND
159
160public:
161 // destructor thunk
162 // NOLINTBEGIN
163 MCAPI void $dtor();
164 // NOLINTEND
165};
Definition ActorDefinitionDescriptor.h:30
Definition ActorDefinition.h:81
Definition BedrockLoadContext.h:14
Definition CategoryLoader.h:8
Definition Experiments.h:14
Definition IJsonDefinitionSerializer.h:16
Definition _HeaderOutputPredefine.h:293
Definition SemVersion.h:15
Definition DynamicValue.h:12
Definition DeserializeDataSettings.h:14
Definition ActorLoaderTraits.h:23
Definition CustomUpgradeData.h:15
Definition LegacyGoalDefinition.h:33
Definition ActorDocumentCorrected.h:16
Definition ActorDocument.h:16
Definition ActorDocument.h:16
Definition ActorDocument.h:16
Definition ActorDocument.h:17
Definition ActorDocument.h:16
Definition ActorDocument.h:17
Definition ActorDefinitions.h:15
Definition ActorDocument.h:17
Definition ReflectionCtx.h:11