Expand description
Entities, resources, components, and general world management.
Structs
- An iterator for entity creation. Please note that you have to consume it because iterators are lazy.
- An iterator for entity creation. Please note that you have to consume it because iterators are lazy.
- The entities of this ECS. This is a resource, stored in the
World
. If you just want to access it in your system, you can also use theEntities
type def. Entity
type, as seen by the user.- The entity builder, allowing to build an entity together with its components.
- An entity builder from
EntitiesRes
. Allows building an entity with its components if you have mutable access to the component storages. - Index generation. When a new entity is placed at an old index, it bumps the
Generation
by 1. This allows to avoid using components from the entities that were deleted. - Like
EntityBuilder
, but inserts the component lazily, meaning onmaintain
. If you need those components to exist immediately, you have to insert them into the storages yourself. - 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
world.maintain()
. - A Resource container, which provides methods to insert, access and manage the contained resources.
Traits
- A common trait for
EntityBuilder
andLazyBuilder
, allowing either to be used. Entity is definitely alive, but the components may or may not exist before a call toWorld::maintain
. - Abstract component type. Doesn’t have to be Copy or even Clone.
- This trait provides some extension methods to make working with shred’s World easier.
Type Aliases
- A wrapper for a read
Entities
resource. Note that this is justRead<Entities>
, so you can easily use it in your system: - An index is basically the id of an
Entity
.