Expand description
Entity handling types.
An entity exclusively owns zero or more component instances, all of different types, and can dynamically acquire or lose them over its lifetime.
empty entity: Entity with zero components.
pending entity: Entity reserved, but not flushed yet (see Entities::flush
docs for reference).
reserved entity: same as pending entity.
invalid entity: pending entity flushed with invalid (see Entities::flush_as_invalid
docs for reference).
See Entity
to learn more.
Usage
Operations involving entities and their components are performed either from a system by submitting commands,
or from the outside (or from an exclusive system) by directly using World
methods:
Operation | Command | Method |
---|---|---|
Spawn an entity with components | Commands::spawn | World::spawn |
Spawn an entity without components | Commands::spawn_empty | World::spawn_empty |
Despawn an entity | EntityCommands::despawn | World::despawn |
Insert a component, bundle, or tuple of components and bundles to an entity | EntityCommands::insert | EntityWorldMut::insert |
Remove a component, bundle, or tuple of components and bundles from an entity | EntityCommands::remove | EntityWorldMut::remove |
Structs
- A
World
’s internal metadata store on all of its entities. - Lightweight identifier of an entity.
- A
BuildHasher
that results in aEntityHasher
. - A very fast hash that is only designed to work on generational indices like
Entity
. It will panic if attempting to hash a type containing non-u64 fields. - A location of an entity in an archetype.
- A wrapper for
EntityHashMap<Entity>
, augmenting it with the ability to allocate newEntity
references in a destination world. These newly allocated references are guaranteed to never point to any living entity in that world.
Traits
- Operation to map all contained
Entity
fields in a type to new values.
Type Aliases
- A
HashMap
pre-configured to useEntityHash
hashing. - A
HashSet
pre-configured to useEntityHash
hashing.