bevy_controls 1.0.0

Bevy controls library
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use bevy::ecs::system::Query;

use crate::analog::analog_control::AnalogControl;

pub trait AnalogActionReader<TAction> {
    fn read_action(&self, action: TAction) -> Option<f32>;
}

impl<TContext: Sync + Send + 'static, TAction: Sync + Send + 'static + PartialEq>
    AnalogActionReader<TAction> for Query<'_, '_, &AnalogControl<TContext, TAction>>
{
    fn read_action(&self, action: TAction) -> Option<f32> {
        self.iter().find(|c| c.action == action).map(|a| a.read())
    }
}