Crate micro_bevy_world_utils

Source
Expand description

micro_bevy_world_utils packages some common functions used to interrogate the world state from exclusive bevy systems. One frequent use case for these functions is in implementing a monolithic physics collisions processor.

§World Interrogation

§World Mutation

  • send_event: Send an event

§Entity Sorting

There are several functions that take the form “get_{specifier}_{specifier}_entities”, such as get_left_right_entities. These are used to sort two entities according to which specified components they contain, or to fetch the parent of one or both entities matching the criteria.

{specifier} takes the following form: [any_](left|right)[[_any]_parent]

  • any_ implies that no components need to be matched for that side of the query to be successful. This would be equivalent to supplying () to the version without any_
  • _parent implies that the returned entity for that side will, if a match is found, be the parent entity of the matching input entity.

N.B. The left component will always be queried first

§Examples

  • get_left_right_entities: Match entities to the left and right components
  • get_left_any_right_parent: Match against the left component, and match the parent of the second entity against the right component
  • get_left_right_any_parent: Match entities to the left and right components, but return the parent entity of the right entity

Functions§

clone_entity_component
Clone the data from a specific component of the target entity, as long as that entity has that component and the component itself implements Clone
get_any_left_parent_any_right_parent_entities
get_left_any_right_entities
Given two entities and a Component type, order those entities based on which one matches the Component type.
get_left_parent_right_parent_entities
get_left_right_entities
Given two entities and two component types, order those entities based on which entity contains which component.
get_left_right_parent_entities
Given two entities and three component types, order those entities based on which entity contains the left hand component, and which entity contains the right hand component while having a parent that contains the right hand component. The resulting tuple will contain the left component and the parent component, but not the right component.
send_event
Send an event to the appropriate event writer. Writer type is derived from the second parameter passed in, and must be registered with the application before trying to send.

Type Aliases§

Left
Right
SortedEntities