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 // IEntitySystemsCollection inner types define
24 using SystemIndex = uint;
25
26public:
27 // virtual functions
28 // NOLINTBEGIN
29 virtual ~IEntitySystemsCollection() = default;
30
31 virtual void registerTickingSystem(
32 ::gsl::span<::Bedrock::typeid_t<::SystemCategory> const> categories,
33 ::std::unique_ptr<::ITickingSystem> system,
34 ::SystemInfo const& info,
36 ) = 0;
37
38 virtual void registerSystem(::std::unique_ptr<::ISystem> system, ::SystemInfo const& info) = 0;
39
40 virtual void foreachSystem(::std::function<void(::ISystem&)> const& callback) = 0;
41
42 virtual void foreachTickingSystem(
43 ::EntitySystemsFilter const& filter,
44 ::std::function<void(::ITickingSystem&, ::TickingSystemId)> const& callback,
45 bool captureTimings
46 ) = 0;
47
48 virtual void foreachSingleTickingSystem(
49 ::EntitySystemsFilter const& filter,
50 ::std::function<void(::ITickingSystem&, ::TickingSystemId)> const& callback,
51 bool captureTimings
52 ) = 0;
53
54 virtual uint64 getLargestSystemIndex() const = 0;
55
56 virtual ::SystemInfo const* getSystemInfoForTickingSystemId(::TickingSystemId id) const = 0;
57
58 virtual ::ITickingSystem* getTickingSystemForTickingSystemId(::TickingSystemId id) const = 0;
59
60 virtual ::ComponentInfo const* getComponentInfoForId(uint id) const = 0;
61
62 virtual void foreachComponentInfo(::std::function<void(uint, ::ComponentInfo const&)> const& callback) const = 0;
63
64 virtual bool hasSingleTickCategory(::Bedrock::typeid_t<::SystemCategory> const category) const = 0;
65
66 virtual ::std::vector<::SystemTiming> gatherSystemTimings() const = 0;
67
68 virtual bool _isValidIndex(uint index) const = 0;
69 // NOLINTEND
70};
Definition typeid_t.h:36
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:13
Definition SystemTiming.h:13
Definition TickingSystemId.h:5