#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(i32)]
pub enum ECommunityItemAttribute {
    Invalid = 0,
    CardBorder = 1,
    Level = 2,
    IssueNumber = 3,
    TradableTime = 4,
    StorePackageID = 5,
    CommunityItemAppID = 6,
    CommunityItemType = 7,
    ProfileModiferEnabled = 8,
    ExpiryTime = 9,
}

impl ECommunityItemAttribute {
    pub fn from_i32(val: i32) -> Option<Self> {
        match val {
            x if x == Self::Invalid as i32 => Some(Self::Invalid),
            x if x == Self::CardBorder as i32 => Some(Self::CardBorder),
            x if x == Self::Level as i32 => Some(Self::Level),
            x if x == Self::IssueNumber as i32 => Some(Self::IssueNumber),
            x if x == Self::TradableTime as i32 => Some(Self::TradableTime),
            x if x == Self::StorePackageID as i32 => Some(Self::StorePackageID),
            x if x == Self::CommunityItemAppID as i32 => Some(Self::CommunityItemAppID),
            x if x == Self::CommunityItemType as i32 => Some(Self::CommunityItemType),
            x if x == Self::ProfileModiferEnabled as i32 => Some(Self::ProfileModiferEnabled),
            x if x == Self::ExpiryTime as i32 => Some(Self::ExpiryTime),
            _ => None,
        }
    }
}
