#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(i32)]
pub enum ESteamReviewScore {
    None = 0,
    OverwhelminglyNegative = 1,
    VeryNegative = 2,
    Negative = 3,
    MostlyNegative = 4,
    Mixed = 5,
    MostlyPositive = 6,
    Positive = 7,
    VeryPositive = 8,
    OverwhelminglyPositive = 9,
}

impl ESteamReviewScore {
    pub fn from_i32(val: i32) -> Option<Self> {
        match val {
            x if x == Self::None as i32 => Some(Self::None),
            x if x == Self::OverwhelminglyNegative as i32 => Some(Self::OverwhelminglyNegative),
            x if x == Self::VeryNegative as i32 => Some(Self::VeryNegative),
            x if x == Self::Negative as i32 => Some(Self::Negative),
            x if x == Self::MostlyNegative as i32 => Some(Self::MostlyNegative),
            x if x == Self::Mixed as i32 => Some(Self::Mixed),
            x if x == Self::MostlyPositive as i32 => Some(Self::MostlyPositive),
            x if x == Self::Positive as i32 => Some(Self::Positive),
            x if x == Self::VeryPositive as i32 => Some(Self::VeryPositive),
            x if x == Self::OverwhelminglyPositive as i32 => Some(Self::OverwhelminglyPositive),
            _ => None,
        }
    }
}
