LeviLamina
Loading...
Searching...
No Matches
IEntitySystemsCollection.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/typeid_t.h"
7
8// auto generated forward declare list
9// clang-format off
10class ITickingSystem;
11struct ComponentInfo;
14struct ISystem;
15struct SystemCategory;
16struct SystemInfo;
17struct SystemTiming;
18struct TickingSystemId;
19// clang-format on
20
22public:
23 // virtual functions
24 // NOLINTBEGIN
25 virtual ~IEntitySystemsCollection() = default;
26
27 virtual void registerTickingSystem(
29 ::std::unique_ptr<::ITickingSystem>,
30 ::SystemInfo const&,
32 ) = 0;
33
34 virtual void registerSystem(::std::unique_ptr<::ISystem>, ::SystemInfo const&) = 0;
35
36 virtual void foreachSystem(::std::function<void(::ISystem&)> const&) = 0;
37
38 virtual void foreachTickingSystem(
40 ::std::function<void(::ITickingSystem&, ::TickingSystemId)> const&,
41 bool
42 ) = 0;
43
44 virtual void foreachSingleTickingSystem(
46 ::std::function<void(::ITickingSystem&, ::TickingSystemId)> const&,
47 bool
48 ) = 0;
49
50 virtual ::SystemInfo const* getSystemInfoForTickingSystemId(::TickingSystemId) const = 0;
51
52 virtual ::ITickingSystem* getTickingSystemForTickingSystemId(::TickingSystemId) const = 0;
53
54 virtual ::ComponentInfo const* getComponentInfoForId(uint) const = 0;
55
56 virtual void foreachComponentInfo(::std::function<void(uint, ::ComponentInfo const&)> const&) const = 0;
57
58 virtual bool hasSingleTickCategory(::Bedrock::typeid_t<::SystemCategory> const) const = 0;
59
60 virtual ::std::vector<::SystemTiming> gatherSystemTimings() const = 0;
61 // NOLINTEND
62
63public:
64 // virtual function thunks
65 // NOLINTBEGIN
66
67 // NOLINTEND
68};
Definition typeid_t.h:25
Definition ITickingSystem.h:15
Definition ComponentInfo.h:5
Definition EntitySystemTickingMode.h:5
Definition EntitySystemsFilter.h:13
Definition IEntitySystemsCollection.h:21
Definition ISystem.h:5
Definition SystemCategory.h:5
Definition SystemInfo.h:14
Definition SystemTiming.h:13
Definition TickingSystemId.h:5