[−][src]Module oxygengine::core::ecs
Modules
| changeset | Provides a changeset that can be collected from an iterator. |
| error | Specs errors |
| hibitset | hibitset |
| join | Joining of components for iteration over entities with specific components. |
| prelude | Prelude module |
| shred | Shared resource dispatcher |
| shrev | Event channel, pull based, that use a ringbuffer for internal storage, to make it possible to do immutable reads. |
| storage | Component storage types, implementations for component joins, etc. |
| world | Entities, resources, components, and general world management. |
Structs
| BatchAccessor | The |
| BatchUncheckedWorld | The |
| BitSet | A |
| ChangeSet | Change set that can be collected from an iterator, and joined on for easy application to components. |
| DefaultBatchControllerSystem | The |
| DefaultVecStorage | Vector storage, like |
| DenseVecStorage | Dense vector storage. Has a redirection 2-way table between entities and components, allowing to leave no gaps within the data. |
| Dispatcher | The dispatcher struct, allowing systems to be executed in parallel. |
| DispatcherBuilder | Builder for the |
| Entity |
|
| EntityBuilder | The entity builder, allowing to build an entity together with its components. |
| EventChannel | The |
| EventIterator | Iterator over a slice of data in |
| FlaggedStorage | Wrapper storage that tracks modifications, insertions, and removals of
components through an |
| HashMapStorage |
|
| LazyUpdate | Lazy updates can be used for world updates
that need to borrow a lot of resources
and as such should better be done at the end.
They work lazily in the sense that they are
dispatched when calling |
| NullStorage | A null storage type, used for cases where the component doesn't contain any data and instead works as a simple flag. |
| Read | Allows to fetch a resource in a system immutably. |
| ReaderId | A reader ID which represents a subscription to the events pushed to the
|
| StaticAccessor | The static accessor that is used for |
| Storage | A wrapper around the masked storage and the generations vector.
Can be used for safe lookup of components, insertions and removes.
This is what |
| VecStorage | Vector storage. Uses a simple |
| World | A [Resource] container, which provides methods to insert, access and manage the contained resources. |
| Write | Allows to fetch a resource in a system mutably. |
Enums
| AccessorCow | Either an |
| RunningTime |
Traits
| Accessor | A trait for accessing read/write multiple resources from a system. This can be used to create dynamic systems that don't specify what they fetch at compile-time. |
| BatchController | The |
| Builder | A common trait for |
| Component | Abstract component type. Doesn't have to be Copy or even Clone. |
| Event | Marker trait for data to use with the EventChannel. |
| Join | The purpose of the |
| Resource | A resource is a data slot which lives in the |
| RunNow | Trait for fetching data and running systems. Automatically implemented for systems. |
| System | A |
| SystemData | A static system data that can specify its dependencies at statically (at
compile-time). Most system data is a |
| Tracked |
|
| WorldExt | This trait provides some extension methods to make working with shred's [World] easier. |
Type Definitions
| Entities | A wrapper for a read |
| ReadExpect | Allows to fetch a resource in a system immutably.
This will panic if the resource does not exist.
Usage of |
| ReadStorage | A storage with read access. |
| WriteExpect | Allows to fetch a resource in a system mutably.
This will panic if the resource does not exist.
Usage of |
| WriteStorage | A storage with read and write access. |
Derive Macros
| SystemData | Used to |