[−][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 |