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(
33 ::std::unique_ptr<::ITickingSystem>,
34 ::SystemInfo const&,
36 ) = 0;
37
38 virtual void registerSystem(::std::unique_ptr<::ISystem>, ::SystemInfo const&) = 0;
39
40 virtual void foreachSystem(::std::function<void(::ISystem&)> const&) = 0;
41
42 virtual void foreachTickingSystem(
44 ::std::function<void(::ITickingSystem&, ::TickingSystemId)> const&,
45 bool
46 ) = 0;
47
48 virtual void foreachSingleTickingSystem(
50 ::std::function<void(::ITickingSystem&, ::TickingSystemId)> const&,
51 bool
52 ) = 0;
53
54 virtual ::SystemInfo const* getSystemInfoForTickingSystemId(::TickingSystemId) const = 0;
55
56 virtual ::ITickingSystem* getTickingSystemForTickingSystemId(::TickingSystemId) const = 0;
57
58 virtual ::ComponentInfo const* getComponentInfoForId(uint) const = 0;
59
60 virtual void foreachComponentInfo(::std::function<void(uint, ::ComponentInfo const&)> const&) const = 0;
61
62 virtual bool hasSingleTickCategory(::Bedrock::typeid_t<::SystemCategory> const) const = 0;
63
64 virtual ::std::vector<::SystemTiming> gatherSystemTimings() const = 0;
65
66 virtual bool _isValidIndex(uint) const = 0;
67 // NOLINTEND
68
69public:
70 // member functions
71 // NOLINTBEGIN
72#ifdef LL_PLAT_C
73 MCNAPI bool isValidTickingSystemId(::TickingSystemId id) const;
74#endif
75 // NOLINTEND
76
77public:
78 // virtual function thunks
79 // NOLINTBEGIN
80
81 // NOLINTEND
82};
Definition typeid_t.h:39
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