#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(i32)]
pub enum ECommentThreadType {
    Invalid = 0,
    Screenshot_Deprecated = 1,
    WorkshopAccount_Developer = 2,
    WorkshopAccount_Public = 3,
    PublishedFile_Developer = 4,
    PublishedFile_Public = 5,
    Test = 6,
    ForumTopic = 7,
    Recommendation = 8,
    Video_Deprecated = 9,
    Profile = 10,
    NewsPost = 11,
    Clan = 12,
    ClanAnnouncement = 13,
    ClanEvent = 14,
    UserStatusPublished = 15,
    UserReceivedNewGame = 16,
    PublishedFile_Announcement = 17,
    ModeratorMessage = 18,
    ClanCuratedApp = 19,
    QAndASession = 20,
    Max = 21,
}

impl ECommentThreadType {
    pub fn from_i32(val: i32) -> Option<Self> {
        match val {
            x if x == Self::Invalid as i32 => Some(Self::Invalid),
            x if x == Self::Screenshot_Deprecated as i32 => Some(Self::Screenshot_Deprecated),
            x if x == Self::WorkshopAccount_Developer as i32 => Some(Self::WorkshopAccount_Developer),
            x if x == Self::WorkshopAccount_Public as i32 => Some(Self::WorkshopAccount_Public),
            x if x == Self::PublishedFile_Developer as i32 => Some(Self::PublishedFile_Developer),
            x if x == Self::PublishedFile_Public as i32 => Some(Self::PublishedFile_Public),
            x if x == Self::Test as i32 => Some(Self::Test),
            x if x == Self::ForumTopic as i32 => Some(Self::ForumTopic),
            x if x == Self::Recommendation as i32 => Some(Self::Recommendation),
            x if x == Self::Video_Deprecated as i32 => Some(Self::Video_Deprecated),
            x if x == Self::Profile as i32 => Some(Self::Profile),
            x if x == Self::NewsPost as i32 => Some(Self::NewsPost),
            x if x == Self::Clan as i32 => Some(Self::Clan),
            x if x == Self::ClanAnnouncement as i32 => Some(Self::ClanAnnouncement),
            x if x == Self::ClanEvent as i32 => Some(Self::ClanEvent),
            x if x == Self::UserStatusPublished as i32 => Some(Self::UserStatusPublished),
            x if x == Self::UserReceivedNewGame as i32 => Some(Self::UserReceivedNewGame),
            x if x == Self::PublishedFile_Announcement as i32 => Some(Self::PublishedFile_Announcement),
            x if x == Self::ModeratorMessage as i32 => Some(Self::ModeratorMessage),
            x if x == Self::ClanCuratedApp as i32 => Some(Self::ClanCuratedApp),
            x if x == Self::QAndASession as i32 => Some(Self::QAndASession),
            x if x == Self::Max as i32 => Some(Self::Max),
            _ => None,
        }
    }
}
