use gilrs::PowerInfo;
use serde::{Deserialize, Serialize};
#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)]
pub enum GamepadStatus {
Unknown,
Wired,
Draining(u8),
Charging(u8),
Charged,
}
impl From<PowerInfo> for GamepadStatus {
#[inline]
fn from(value: PowerInfo) -> Self {
match value {
PowerInfo::Unknown => Self::Unknown,
PowerInfo::Wired => Self::Wired,
PowerInfo::Discharging(p) => Self::Draining(p),
PowerInfo::Charging(p) => Self::Charging(p),
PowerInfo::Charged => Self::Charged,
}
}
}