LeviLamina
Loading...
Searching...
No Matches
InternalComponentRegistry.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class Actor;
8class CompoundTag;
10class HashedString;
11// clang-format on
12
14public:
15 // InternalComponentRegistry inner types declare
16 // clang-format off
17 struct ComponentInfo;
18 // clang-format on
19
20 // InternalComponentRegistry inner types define
21 struct ComponentInfo {
22 public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<8, 64, ::std::function<void(::CompoundTag const&, ::CompoundTag&)>>
26 mLegacyDataConversionFunc;
27 ::ll::TypedStorage<8, 64, ::std::function<void(::Actor&, ::CompoundTag const&)>> mCreateAndLoadComponentFunc;
28 ::ll::TypedStorage<8, 64, ::std::function<void(::Actor const&, ::CompoundTag&)>> mSaveComponentFunc;
29 // NOLINTEND
30
31 public:
32 // prevent constructor by default
33 ComponentInfo& operator=(ComponentInfo const&);
34 ComponentInfo(ComponentInfo const&);
35 ComponentInfo();
36
37 public:
38 // member functions
39 // NOLINTBEGIN
40 MCAPI ::InternalComponentRegistry::ComponentInfo& operator=(::InternalComponentRegistry::ComponentInfo&&);
41
42 MCAPI ~ComponentInfo();
43 // NOLINTEND
44
45 public:
46 // destructor thunk
47 // NOLINTBEGIN
48 MCFOLD void $dtor();
49 // NOLINTEND
50 };
51
52public:
53 // member variables
54 // NOLINTBEGIN
55 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::InternalComponentRegistry::ComponentInfo>>
56 mRegistry;
57 // NOLINTEND
58
59public:
60 // virtual functions
61 // NOLINTBEGIN
62 virtual ~InternalComponentRegistry() = default;
63
64 virtual void registerComponents();
65 // NOLINTEND
66
67public:
68 // member functions
69 // NOLINTBEGIN
70 MCAPI void _initializeComponents(::Actor& owner, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) const;
71
72 MCAPI void initializeComponents(::Actor& owner, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) const;
73 // NOLINTEND
74
75public:
76 // static functions
77 // NOLINTBEGIN
78 MCAPI static ::CompoundTag& _getOrCreateComponentScope(::CompoundTag& tag, ::std::string const& componentName);
79 // NOLINTEND
80
81public:
82 // static variables
83 // NOLINTBEGIN
84 MCAPI static ::std::string const& INTERNAL_COMPONENTS();
85 // NOLINTEND
86
87public:
88 // virtual function thunks
89 // NOLINTBEGIN
90 MCAPI void $registerComponents();
91
92
93 // NOLINTEND
94
95public:
96 // vftables
97 // NOLINTBEGIN
98 MCAPI static void** $vftable();
99 // NOLINTEND
100};
Definition Actor.h:105
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition HashedString.h:5
Definition InternalComponentRegistry.h:13
Definition InternalComponentRegistry.h:21