LeviLamina
Loading...
Searching...
No Matches
EntitySystems.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/deps/core/utility/typeid_t.h"
8#include "mc/deps/ecs/systems/IEntitySystems.h"
9#include "mc/deps/game_refs/OwnerPtr.h"
10
11// auto generated forward declare list
12// clang-format off
14class EntityRegistry;
15class ITickingSystem;
19struct SystemCategory;
20struct SystemInfo;
22// clang-format on
23
25public:
26 // EntitySystems inner types declare
27 // clang-format off
29 struct GameSystemCategory;
30 struct RuntimeInitialize;
33 // clang-format on
34
35 // EntitySystems inner types define
37
39
40 using MovementSystemCategory = ::entt::
41 type_list<::EntitySystems::UsedInServerPlayerMovement, ::EntitySystems::UsedInClientMovementCorrections>;
42
44
46
48
49public:
50 // member variables
51 // NOLINTBEGIN
52 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PlayerInteractionSystem>> mPlayerInteractionSystem;
53 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IEntitySystemsCollection>> mSystems;
54 ::ll::TypedStorage<8, 16, ::OwnerPtr<::EcsEventDispatcher>> mDispatcher;
55 ::ll::TypedStorage<8, 32, ::std::string> mName;
56 ::ll::TypedStorage<1, 1, bool> mEnableTimingCapture;
57 // NOLINTEND
58
59public:
60 // virtual functions
61 // NOLINTBEGIN
62 // vIndex: 0
63 virtual ~EntitySystems() /*override*/;
64
65 // vIndex: 3
66 virtual void tickMovementCatchup(::EntityRegistry& registry) /*override*/;
67
68 // vIndex: 4
69 virtual void tickMovementCorrectionReplay(::EntityRegistry& registry) /*override*/;
70
71 // vIndex: 1
72 virtual void registerTickingSystem(
73 ::gsl::span<::Bedrock::typeid_t<::SystemCategory> const> categories,
74 ::std::unique_ptr<::ITickingSystem> system,
75 ::SystemInfo const& info,
77 ) /*override*/;
78
79 // vIndex: 2
80 virtual bool _hasSingleTickCategory(::Bedrock::typeid_t<::SystemCategory> const category) const /*override*/;
81 // NOLINTEND
82
83public:
84 // member functions
85 // NOLINTBEGIN
86 MCAPI EntitySystems(::std::unique_ptr<::IEntitySystemsCollection> systems, ::std::string name);
87
88 MCAPI ::std::vector<::gsl::not_null<::SystemInfo const*>>
89 getSystemInfo(::Bedrock::typeid_t<::SystemCategory> const& filter) const;
90
91 MCAPI void registerEditorOnlyTickingSystem(::TickingSystemWithInfo&& system);
92
93 MCAPI void registerEvents(::EntityRegistry& registry);
94
95 MCAPI void registerGameOnlyTickingSystem(::TickingSystemWithInfo&& system);
96
97 MCAPI void registerMovementTickingSystem(::TickingSystemWithInfo&& system);
98
99 MCAPI void registerTickingSystem(::TickingSystemWithInfo&& system);
100 // NOLINTEND
101
102public:
103 // constructor thunks
104 // NOLINTBEGIN
105 MCAPI void* $ctor(::std::unique_ptr<::IEntitySystemsCollection> systems, ::std::string name);
106 // NOLINTEND
107
108public:
109 // destructor thunk
110 // NOLINTBEGIN
111 MCAPI void $dtor();
112 // NOLINTEND
113
114public:
115 // virtual function thunks
116 // NOLINTBEGIN
117 MCAPI void $tickMovementCatchup(::EntityRegistry& registry);
118
119 MCAPI void $tickMovementCorrectionReplay(::EntityRegistry& registry);
120
121 MCAPI void $registerTickingSystem(
122 ::gsl::span<::Bedrock::typeid_t<::SystemCategory> const> categories,
123 ::std::unique_ptr<::ITickingSystem> system,
124 ::SystemInfo const& info,
125 ::EntitySystemTickingMode tickingMode
126 );
127
128 MCAPI bool $_hasSingleTickCategory(::Bedrock::typeid_t<::SystemCategory> const category) const;
129 // NOLINTEND
130
131public:
132 // vftables
133 // NOLINTBEGIN
134 MCAPI static void** $vftableForEnableNonOwnerReferences();
135
136 MCAPI static void** $vftableForIEntitySystems();
137 // NOLINTEND
138};
Definition EnableNonOwnerReferences.h:7
Definition typeid_t.h:25
Definition EcsEventDispatcher.h:9
Definition EntityRegistry.h:15
Definition EntitySystems.h:24
Definition IEntitySystems.h:17
Definition ITickingSystem.h:15
Definition PlayerInteractionSystem.h:12
Definition EntitySystemTickingMode.h:5
Definition EntitySystems.h:45
Definition EntitySystems.h:43
Definition EntitySystems.h:47
Definition EntitySystems.h:36
Definition IEntitySystemsCollection.h:21
Definition SystemCategory.h:5
Definition SystemInfo.h:12
Definition TickingSystemWithInfo.h:11