pub struct SummarizedActionState<A: Actionlike> { /* private fields */ }
Expand description
Stores the state of all actions in the current frame.
Inside of the hashmap, Entity::PLACEHOLDER
represents the global / resource state of the action.
Implementations§
Source§impl<A: Actionlike> SummarizedActionState<A>
impl<A: Actionlike> SummarizedActionState<A>
Sourcepub fn all_entities(&self) -> HashSet<Entity>
pub fn all_entities(&self) -> HashSet<Entity>
Returns a list of all entities that are contained within this data structure.
This includes the global / resource state, using Entity::PLACEHOLDER
.
Sourcepub fn summarize(
global_action_state: Option<Res<'_, ActionState<A>>>,
action_state_query: Query<'_, '_, (Entity, &ActionState<A>)>,
) -> Self
pub fn summarize( global_action_state: Option<Res<'_, ActionState<A>>>, action_state_query: Query<'_, '_, (Entity, &ActionState<A>)>, ) -> Self
Captures the raw values for each action in the current frame, for all entities with ActionState<A>
.
Sourcepub fn summarize_filtered<F: QueryFilter>(
global_action_state: Option<Res<'_, ActionState<A>>>,
action_state_query: Query<'_, '_, (Entity, &ActionState<A>), F>,
) -> Self
pub fn summarize_filtered<F: QueryFilter>( global_action_state: Option<Res<'_, ActionState<A>>>, action_state_query: Query<'_, '_, (Entity, &ActionState<A>), F>, ) -> Self
Captures the raw values for each action in the current frame, for entities with ActionState<A>
matching the query filter.
Generates an ActionDiff
for button data,
if the button has changed state.
Previous values will be treated as default if they were not present.
Sourcepub fn axis_diff(
action: A,
previous_axis: Option<f32>,
current_axis: Option<f32>,
) -> Option<ActionDiff<A>>
pub fn axis_diff( action: A, previous_axis: Option<f32>, current_axis: Option<f32>, ) -> Option<ActionDiff<A>>
Generates an ActionDiff
for axis data,
if the axis has changed state.
Previous values will be treated as default if they were not present.
Sourcepub fn dual_axis_diff(
action: A,
previous_dual_axis: Option<Vec2>,
current_dual_axis: Option<Vec2>,
) -> Option<ActionDiff<A>>
pub fn dual_axis_diff( action: A, previous_dual_axis: Option<Vec2>, current_dual_axis: Option<Vec2>, ) -> Option<ActionDiff<A>>
Generates an ActionDiff
for dual axis data,
if the dual axis has changed state.
Sourcepub fn triple_axis_diff(
action: A,
previous_triple_axis: Option<Vec3>,
current_triple_axis: Option<Vec3>,
) -> Option<ActionDiff<A>>
pub fn triple_axis_diff( action: A, previous_triple_axis: Option<Vec3>, current_triple_axis: Option<Vec3>, ) -> Option<ActionDiff<A>>
Generates an ActionDiff
for triple axis data,
if the triple axis has changed state.
Sourcepub fn entity_diffs(
&self,
entity: &Entity,
previous: &Self,
) -> Vec<ActionDiff<A>>
pub fn entity_diffs( &self, entity: &Entity, previous: &Self, ) -> Vec<ActionDiff<A>>
Generates all ActionDiff
s for a single entity.
Sourcepub fn send_diffs(
&self,
previous: &Self,
writer: &mut EventWriter<'_, ActionDiffEvent<A>>,
)
pub fn send_diffs( &self, previous: &Self, writer: &mut EventWriter<'_, ActionDiffEvent<A>>, )
Compares the current frame to the previous frame, generates ActionDiff
s and then sends them as batched ActionDiffEvent
s.
Trait Implementations§
Source§impl<A: Clone + Actionlike> Clone for SummarizedActionState<A>
impl<A: Clone + Actionlike> Clone for SummarizedActionState<A>
Source§fn clone(&self) -> SummarizedActionState<A>
fn clone(&self) -> SummarizedActionState<A>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<A: Debug + Actionlike> Debug for SummarizedActionState<A>
impl<A: Debug + Actionlike> Debug for SummarizedActionState<A>
Source§impl<A: Actionlike> Default for SummarizedActionState<A>
impl<A: Actionlike> Default for SummarizedActionState<A>
Source§impl<A: PartialEq + Actionlike> PartialEq for SummarizedActionState<A>
impl<A: PartialEq + Actionlike> PartialEq for SummarizedActionState<A>
impl<A: Actionlike> StructuralPartialEq for SummarizedActionState<A>
Auto Trait Implementations§
impl<A> Freeze for SummarizedActionState<A>
impl<A> RefUnwindSafe for SummarizedActionState<A>where
A: RefUnwindSafe,
impl<A> Send for SummarizedActionState<A>
impl<A> Sync for SummarizedActionState<A>
impl<A> Unpin for SummarizedActionState<A>where
A: Unpin,
impl<A> UnwindSafe for SummarizedActionState<A>where
A: UnwindSafe,
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which can then be further
downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self
using default()
.
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more