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())
}
}