use core::marker::PhantomData;
use core::time::Duration;
use bevy_ecs::resource::Resource;
use bevy_reflect::Reflect;
#[derive(Debug, Reflect, Resource)]
pub struct InputConfig<A> {
#[cfg(feature = "interpolation")]
pub lag_compensation: bool,
pub packet_redundancy: u16,
pub send_interval: Duration,
pub rebroadcast_inputs: bool,
pub marker: PhantomData<A>,
}
impl<A> Copy for InputConfig<A> {}
impl<A> Clone for InputConfig<A> {
fn clone(&self) -> Self {
*self
}
}
impl<A> Default for InputConfig<A> {
fn default() -> Self {
InputConfig {
#[cfg(feature = "interpolation")]
lag_compensation: false,
packet_redundancy: 10,
send_interval: Duration::default(),
rebroadcast_inputs: false,
marker: PhantomData,
}
}
}