#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(i32)]
pub enum EProfileCustomizationType {
    Invalid = 0,
    RareAchievementShowcase = 1,
    GameCollector = 2,
    ItemShowcase = 3,
    TradeShowcase = 4,
    Badges = 5,
    FavoriteGame = 6,
    ScreenshotShowcase = 7,
    CustomText = 8,
    FavoriteGroup = 9,
    Recommendation = 10,
    WorkshopItem = 11,
    MyWorkshop = 12,
    ArtworkShowcase = 13,
    VideoShowcase = 14,
    Guides = 15,
    MyGuides = 16,
    Achievements = 17,
    Greenlight = 18,
    MyGreenlight = 19,
    Salien = 20,
    LoyaltyRewardReactions = 21,
    SingleArtworkShowcase = 22,
    AchievementsCompletionist = 23,
    Replay = 24,
}

impl EProfileCustomizationType {
    pub fn from_i32(val: i32) -> Option<Self> {
        match val {
            x if x == Self::Invalid as i32 => Some(Self::Invalid),
            x if x == Self::RareAchievementShowcase as i32 => Some(Self::RareAchievementShowcase),
            x if x == Self::GameCollector as i32 => Some(Self::GameCollector),
            x if x == Self::ItemShowcase as i32 => Some(Self::ItemShowcase),
            x if x == Self::TradeShowcase as i32 => Some(Self::TradeShowcase),
            x if x == Self::Badges as i32 => Some(Self::Badges),
            x if x == Self::FavoriteGame as i32 => Some(Self::FavoriteGame),
            x if x == Self::ScreenshotShowcase as i32 => Some(Self::ScreenshotShowcase),
            x if x == Self::CustomText as i32 => Some(Self::CustomText),
            x if x == Self::FavoriteGroup as i32 => Some(Self::FavoriteGroup),
            x if x == Self::Recommendation as i32 => Some(Self::Recommendation),
            x if x == Self::WorkshopItem as i32 => Some(Self::WorkshopItem),
            x if x == Self::MyWorkshop as i32 => Some(Self::MyWorkshop),
            x if x == Self::ArtworkShowcase as i32 => Some(Self::ArtworkShowcase),
            x if x == Self::VideoShowcase as i32 => Some(Self::VideoShowcase),
            x if x == Self::Guides as i32 => Some(Self::Guides),
            x if x == Self::MyGuides as i32 => Some(Self::MyGuides),
            x if x == Self::Achievements as i32 => Some(Self::Achievements),
            x if x == Self::Greenlight as i32 => Some(Self::Greenlight),
            x if x == Self::MyGreenlight as i32 => Some(Self::MyGreenlight),
            x if x == Self::Salien as i32 => Some(Self::Salien),
            x if x == Self::LoyaltyRewardReactions as i32 => Some(Self::LoyaltyRewardReactions),
            x if x == Self::SingleArtworkShowcase as i32 => Some(Self::SingleArtworkShowcase),
            x if x == Self::AchievementsCompletionist as i32 => Some(Self::AchievementsCompletionist),
            x if x == Self::Replay as i32 => Some(Self::Replay),
            _ => None,
        }
    }
}
