#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(i32)]
pub enum ETritonPairType {
    Unknown = 0,
    None = 1,
    RePairToSteamMachineWired = 2,
    RePairToSteamMachineDocked = 3,
    RePairToSteamMachineWireless = 4,
    PairToPuckWired = 5,
    PairToPuckDocked = 6,
}

impl ETritonPairType {
    pub fn from_i32(val: i32) -> Option<Self> {
        match val {
            x if x == Self::Unknown as i32 => Some(Self::Unknown),
            x if x == Self::None as i32 => Some(Self::None),
            x if x == Self::RePairToSteamMachineWired as i32 => Some(Self::RePairToSteamMachineWired),
            x if x == Self::RePairToSteamMachineDocked as i32 => Some(Self::RePairToSteamMachineDocked),
            x if x == Self::RePairToSteamMachineWireless as i32 => Some(Self::RePairToSteamMachineWireless),
            x if x == Self::PairToPuckWired as i32 => Some(Self::PairToPuckWired),
            x if x == Self::PairToPuckDocked as i32 => Some(Self::PairToPuckDocked),
            _ => None,
        }
    }
}
