oxygen library Null safety

A lightweight Entity Component System written in Dart.

Classes

Component<T>
A Component is a way to store data for an Entity.
ComponentManager
Manages all the components in a World.
ComponentPool<T extends Component>
An ObjectPool for a type of Component.
Entity
An Entity is a simple "container" for components.
EntityManager
Manages all the entities in a World.
EntityPool
ObjectPool for entities.
Filter<T extends Component>
A filter allows a Query to be able to filter down entities.
Has<T extends Component>
HasNot<T extends Component>
ObjectPool<T extends PoolObject<V>, V>
PoolObject<T>
Query
A Query is a way to retrieve entities by matching their components against the Query filters.
QueryManager
Manages all the queries to ensure we don't duplicate lists.
System
Systems contain the logic for components.
SystemManager
Manages all registered systems.
ValueComponent<T>
With the ValueComponent you can easily define single value components.
World

Typedefs

ComponentBuilder<T> = T Function()