#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(i64)]
pub enum EActivationCodeClass {
    WonCDKey = 0,
    ValveCDKey = 1,
    Doom3CDKey = 2,
    DBLookup = 3,
    Steam2010Key = 4,
    Max = 5,
    Test = 2147483647,
    Invalid = 4294967295,
}

impl EActivationCodeClass {
    pub fn from_i32(val: i32) -> Option<Self> {
        match val {
            x if x == Self::WonCDKey as i32 => Some(Self::WonCDKey),
            x if x == Self::ValveCDKey as i32 => Some(Self::ValveCDKey),
            x if x == Self::Doom3CDKey as i32 => Some(Self::Doom3CDKey),
            x if x == Self::DBLookup as i32 => Some(Self::DBLookup),
            x if x == Self::Steam2010Key as i32 => Some(Self::Steam2010Key),
            x if x == Self::Max as i32 => Some(Self::Max),
            x if x == Self::Test as i32 => Some(Self::Test),
            x if x == Self::Invalid as i32 => Some(Self::Invalid),
            _ => None,
        }
    }
}
