Template Class System

Inheritance Relationships

Base Type

Class Documentation

template<typename SelfType>
class legion::core::System : public legion::core::SystemBase

Public Functions

inline System()

Protected Functions

template<void(SelfType::*)(time::time_span< fast_time >) func_type, size_type charc> inline void createProcess (const char(&processChainName)[charc], time::time_span< fast_time > interval=0)
inline void createProcess(cstring processChainName, delegate<void(time::time_span<fast_time>)> &&operation, time::time_span<fast_time> interval = 0, )
inline void destroyProcess(cstring processChainName, time::time_span<fast_time> interval = 0)
inline void waitForSync()
inline ecs::entity_handle createEntity(bool worldChild = true)

Create a new entity and return the handle.

template<typename ...component_types>
inline ecs::EntityQuery createQuery()
inline ecs::EntityQuery createQuery(const hashed_sparse_set<id_type> &componentTypes)
template<typename event_type, typename ...Args>
inline void raiseEvent(Args... arguments)
inline void raiseEvent(std::unique_ptr<events::event_base> &&value)
inline void raiseEventUnsafe(std::unique_ptr<events::event_base> &&value, id_type id)
template<typename event_type>
inline bool checkEvent() const
template<typename event_type>
inline size_type getEventCount() const
template<typename event_type>
inline const event_type &getEvent(index_type index = 0) const
template<typename event_type>
inline const event_type &getLastEvent() const
template<typename event_type>
inline void clearEvent(index_type index = 0)
template<typename event_type>
inline void clearLastEvent()
template<typename event_type, void(SelfType::*)(event_type *) func_type> inline void bindToEvent ()
template<typename event_type>
inline void bindToEvent(delegate<void(event_type*)> callback)