#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(i32)]
pub enum EGCItemCustomizationNotification {
    NameItem = 1006,
    UnlockCrate = 1007,
    XRayItemReveal = 1008,
    XRayItemClaim = 1009,
    CasketTooFull = 1011,
    CasketContents = 1012,
    CasketAdded = 1013,
    CasketRemoved = 1014,
    CasketInvFull = 1015,
    NameBaseItem = 1019,
    RemoveItemName = 1030,
    RemoveSticker = 1053,
    ExtractSticker = 1054,
    EncapsulateSticker = 1055,
    ApplySticker = 1086,
    StatTrakSwap = 1088,
    RemovePatch = 1089,
    ApplyPatch = 1090,
    ApplyKeychain = 1091,
    RemoveKeychain = 1092,
    ActivateFanToken = 9178,
    ActivateOperationCoin = 9179,
    GraffitiUnseal = 9185,
    GenerateSouvenir = 9204,
    ClientRedeemMissionReward = 9209,
    ClientRedeemFreeReward = 9219,
    XpShopUseTicket = 9221,
    XpShopAckTracks = 9222,
}

impl EGCItemCustomizationNotification {
    pub fn from_i32(val: i32) -> Option<Self> {
        match val {
            x if x == Self::NameItem as i32 => Some(Self::NameItem),
            x if x == Self::UnlockCrate as i32 => Some(Self::UnlockCrate),
            x if x == Self::XRayItemReveal as i32 => Some(Self::XRayItemReveal),
            x if x == Self::XRayItemClaim as i32 => Some(Self::XRayItemClaim),
            x if x == Self::CasketTooFull as i32 => Some(Self::CasketTooFull),
            x if x == Self::CasketContents as i32 => Some(Self::CasketContents),
            x if x == Self::CasketAdded as i32 => Some(Self::CasketAdded),
            x if x == Self::CasketRemoved as i32 => Some(Self::CasketRemoved),
            x if x == Self::CasketInvFull as i32 => Some(Self::CasketInvFull),
            x if x == Self::NameBaseItem as i32 => Some(Self::NameBaseItem),
            x if x == Self::RemoveItemName as i32 => Some(Self::RemoveItemName),
            x if x == Self::RemoveSticker as i32 => Some(Self::RemoveSticker),
            x if x == Self::ExtractSticker as i32 => Some(Self::ExtractSticker),
            x if x == Self::EncapsulateSticker as i32 => Some(Self::EncapsulateSticker),
            x if x == Self::ApplySticker as i32 => Some(Self::ApplySticker),
            x if x == Self::StatTrakSwap as i32 => Some(Self::StatTrakSwap),
            x if x == Self::RemovePatch as i32 => Some(Self::RemovePatch),
            x if x == Self::ApplyPatch as i32 => Some(Self::ApplyPatch),
            x if x == Self::ApplyKeychain as i32 => Some(Self::ApplyKeychain),
            x if x == Self::RemoveKeychain as i32 => Some(Self::RemoveKeychain),
            x if x == Self::ActivateFanToken as i32 => Some(Self::ActivateFanToken),
            x if x == Self::ActivateOperationCoin as i32 => Some(Self::ActivateOperationCoin),
            x if x == Self::GraffitiUnseal as i32 => Some(Self::GraffitiUnseal),
            x if x == Self::GenerateSouvenir as i32 => Some(Self::GenerateSouvenir),
            x if x == Self::ClientRedeemMissionReward as i32 => Some(Self::ClientRedeemMissionReward),
            x if x == Self::ClientRedeemFreeReward as i32 => Some(Self::ClientRedeemFreeReward),
            x if x == Self::XpShopUseTicket as i32 => Some(Self::XpShopUseTicket),
            x if x == Self::XpShopAckTracks as i32 => Some(Self::XpShopAckTracks),
            _ => None,
        }
    }
}
