#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(i32)]
pub enum EStoreDiscoveryQueueType {
    New = 0,
    ComingSoon = 1,
    Recommended = 2,
    EveryNewRelease = 3,
    MLRecommender = 5,
    WishlistOnSale = 6,
    DLC = 7,
    DLCOnSale = 8,
    RecommendedComingSoon = 9,
    RecommendedFree = 10,
    RecommendedOnSale = 11,
    RecommendedDemos = 12,
    DLCNewReleases = 13,
    DLCTopSellers = 14,
    DLCUpcoming = 15,
    MAX = 16,
}

impl EStoreDiscoveryQueueType {
    pub fn from_i32(val: i32) -> Option<Self> {
        match val {
            x if x == Self::New as i32 => Some(Self::New),
            x if x == Self::ComingSoon as i32 => Some(Self::ComingSoon),
            x if x == Self::Recommended as i32 => Some(Self::Recommended),
            x if x == Self::EveryNewRelease as i32 => Some(Self::EveryNewRelease),
            x if x == Self::MLRecommender as i32 => Some(Self::MLRecommender),
            x if x == Self::WishlistOnSale as i32 => Some(Self::WishlistOnSale),
            x if x == Self::DLC as i32 => Some(Self::DLC),
            x if x == Self::DLCOnSale as i32 => Some(Self::DLCOnSale),
            x if x == Self::RecommendedComingSoon as i32 => Some(Self::RecommendedComingSoon),
            x if x == Self::RecommendedFree as i32 => Some(Self::RecommendedFree),
            x if x == Self::RecommendedOnSale as i32 => Some(Self::RecommendedOnSale),
            x if x == Self::RecommendedDemos as i32 => Some(Self::RecommendedDemos),
            x if x == Self::DLCNewReleases as i32 => Some(Self::DLCNewReleases),
            x if x == Self::DLCTopSellers as i32 => Some(Self::DLCTopSellers),
            x if x == Self::DLCUpcoming as i32 => Some(Self::DLCUpcoming),
            x if x == Self::MAX as i32 => Some(Self::MAX),
            _ => None,
        }
    }
}
