#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(i32)]
pub enum ETEProtobufIds {
    EffectDispatchId = 400,
    ArmorRicochetId = 401,
    BeamEntPointId = 402,
    BeamEntsId = 403,
    BeamPointsId = 404,
    BeamRingId = 405,
    BubblesId = 408,
    BubbleTrailId = 409,
    DecalId = 410,
    WorldDecalId = 411,
    EnergySplashId = 412,
    FizzId = 413,
    ShatterSurfaceId = 414,
    GlowSpriteId = 415,
    ImpactId = 416,
    MuzzleFlashId = 417,
    BloodStreamId = 418,
    ExplosionId = 419,
    DustId = 420,
    LargeFunnelId = 421,
    SparksId = 422,
    PhysicsPropId = 423,
    SmokeId = 426,
}

impl ETEProtobufIds {
    pub fn from_i32(val: i32) -> Option<Self> {
        match val {
            x if x == Self::EffectDispatchId as i32 => Some(Self::EffectDispatchId),
            x if x == Self::ArmorRicochetId as i32 => Some(Self::ArmorRicochetId),
            x if x == Self::BeamEntPointId as i32 => Some(Self::BeamEntPointId),
            x if x == Self::BeamEntsId as i32 => Some(Self::BeamEntsId),
            x if x == Self::BeamPointsId as i32 => Some(Self::BeamPointsId),
            x if x == Self::BeamRingId as i32 => Some(Self::BeamRingId),
            x if x == Self::BubblesId as i32 => Some(Self::BubblesId),
            x if x == Self::BubbleTrailId as i32 => Some(Self::BubbleTrailId),
            x if x == Self::DecalId as i32 => Some(Self::DecalId),
            x if x == Self::WorldDecalId as i32 => Some(Self::WorldDecalId),
            x if x == Self::EnergySplashId as i32 => Some(Self::EnergySplashId),
            x if x == Self::FizzId as i32 => Some(Self::FizzId),
            x if x == Self::ShatterSurfaceId as i32 => Some(Self::ShatterSurfaceId),
            x if x == Self::GlowSpriteId as i32 => Some(Self::GlowSpriteId),
            x if x == Self::ImpactId as i32 => Some(Self::ImpactId),
            x if x == Self::MuzzleFlashId as i32 => Some(Self::MuzzleFlashId),
            x if x == Self::BloodStreamId as i32 => Some(Self::BloodStreamId),
            x if x == Self::ExplosionId as i32 => Some(Self::ExplosionId),
            x if x == Self::DustId as i32 => Some(Self::DustId),
            x if x == Self::LargeFunnelId as i32 => Some(Self::LargeFunnelId),
            x if x == Self::SparksId as i32 => Some(Self::SparksId),
            x if x == Self::PhysicsPropId as i32 => Some(Self::PhysicsPropId),
            x if x == Self::SmokeId as i32 => Some(Self::SmokeId),
            _ => None,
        }
    }
}
