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;
46 virtual uint64 getLargestSystemIndex()
const = 0;
48 virtual ::SystemInfo
const* getSystemInfoForTickingSystemId(
::TickingSystemId id)
const = 0;
50 virtual ::ITickingSystem* getTickingSystemForTickingSystemId(
::TickingSystemId id)
const = 0;
52 virtual ::ComponentInfo
const* getComponentInfoForId(uint
id)
const = 0;
54 virtual void foreachComponentInfo(::std::function<
void(uint,
::ComponentInfo const&)>
const& callback)
const = 0;
58 virtual ::std::vector<::SystemTiming> gatherSystemTimings()
const = 0;
60 virtual void initPerfHints() = 0;
62 virtual bool _isValidIndex(uint index)
const = 0;