24 using SystemIndex = uint;
31 virtual void registerTickingSystem(
33 ::std::unique_ptr<::ITickingSystem> system,
38 virtual void registerSystem(::std::unique_ptr<::ISystem> system,
::SystemInfo const& info) = 0;
40 virtual void foreachSystem(::std::function<
void(
::ISystem&)>
const& callback) = 0;
42 virtual void foreachTickingSystem(
48 virtual void foreachSingleTickingSystem(
54 virtual uint64 getLargestSystemIndex()
const = 0;
56 virtual ::SystemInfo
const* getSystemInfoForTickingSystemId(
::TickingSystemId id)
const = 0;
58 virtual ::ITickingSystem* getTickingSystemForTickingSystemId(
::TickingSystemId id)
const = 0;
60 virtual ::ComponentInfo
const* getComponentInfoForId(uint
id)
const = 0;
62 virtual void foreachComponentInfo(::std::function<
void(uint,
::ComponentInfo const&)>
const& callback)
const = 0;
66 virtual ::std::vector<::SystemTiming> gatherSystemTimings()
const = 0;
68 virtual bool _isValidIndex(uint index)
const = 0;