LeviLamina
Loading...
Searching...
No Matches
DefaultEntitySystemsCollection Class Referenceabstract
Inheritance diagram for DefaultEntitySystemsCollection:

Classes

struct  ECSTiming
struct  TickingSystemsInCategory

Public Types

using SystemIndex = uint

Public Member Functions

virtual void registerTickingSystem (::gsl::span<::Bedrock::typeid_t<::SystemCategory > const > categories, ::std::unique_ptr<::ITickingSystem > system, ::SystemInfo const &info, ::EntitySystemTickingMode tickingMode)=0
virtual void registerSystem (::std::unique_ptr<::ISystem > system, ::SystemInfo const &info)=0
virtual void foreachSystem (::std::function< void(::ISystem &)> const &callback)=0
virtual void foreachTickingSystem (::EntitySystemsFilter const &filter, ::std::function< void(::ITickingSystem &, ::TickingSystemId)> const &callback, bool captureTimings)=0
virtual void foreachSingleTickingSystem (::EntitySystemsFilter const &filter, ::std::function< void(::ITickingSystem &, ::TickingSystemId)> const &callback, bool captureTimings)=0
virtual uint64 getLargestSystemIndex () const =0
virtual::SystemInfo const * getSystemInfoForTickingSystemId (::TickingSystemId id) const =0
virtual::ITickingSystem * getTickingSystemForTickingSystemId (::TickingSystemId id) const =0
virtual::ComponentInfo const * getComponentInfoForId (uint id) const =0
virtual void foreachComponentInfo (::std::function< void(uint, ::ComponentInfo const &)> const &callback) const =0
virtual bool hasSingleTickCategory (::Bedrock::typeid_t<::SystemCategory > const category) const =0
virtual ::std::vector<::SystemTiming > gatherSystemTimings () const =0
virtual bool _isValidIndex (uint index) const =0

Public Attributes

std::vector< std::shared_ptr< ISystem > > mAllSystems
std::vector< InternalSystemInfo > mAllSystemsInfo
std::vector< TickingSystemsInCategory > mTickingSystemCategories
std::vector< TickingSystemsInCategory > mSingleTickingSystemCategories
entt::dense_map< uint, ComponentInfo > mAllComponentsInfo
std::mutex mTimingMutex

The documentation for this class was generated from the following file: