[−][src]Module oxygengine_core::ecs
Modules
changeset | Provides a changeset that can be collected from an iterator. |
error | Specs errors |
join | Joining of components for iteration over entities with specific components. |
prelude | Prelude module |
shred | Shared resource dispatcher |
storage | Component storage types, implementations for component joins, etc. |
world | Entities, resources, components, and general world management. |
Structs
BitSet | A |
ChangeSet | Change set that can be collected from an iterator, and joined on for easy application to components. |
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 | HashMap-based storage. Best suited for rare components. |
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
|
Resources | A resource container, which provides methods to access to the contained resources. |
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 | The |
Write | Allows to fetch a resource in a system mutably. |
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. |
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 defines a set of data which can only be accessed according to Rust's typical borrowing model (one writer xor multiple readers). |
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 |
|
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. |