pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::GameParticleManagerEventCreate => "GAME_PARTICLE_MANAGER_EVENT_CREATE",
            Self::GameParticleManagerEventUpdate => "GAME_PARTICLE_MANAGER_EVENT_UPDATE",
            Self::GameParticleManagerEventUpdateForward => "GAME_PARTICLE_MANAGER_EVENT_UPDATE_FORWARD",
            Self::GameParticleManagerEventUpdateOrientation => "GAME_PARTICLE_MANAGER_EVENT_UPDATE_ORIENTATION",
            Self::GameParticleManagerEventUpdateFallback => "GAME_PARTICLE_MANAGER_EVENT_UPDATE_FALLBACK",
            Self::GameParticleManagerEventUpdateEnt => "GAME_PARTICLE_MANAGER_EVENT_UPDATE_ENT",
            Self::GameParticleManagerEventUpdateOffset => "GAME_PARTICLE_MANAGER_EVENT_UPDATE_OFFSET",
            Self::GameParticleManagerEventDestroy => "GAME_PARTICLE_MANAGER_EVENT_DESTROY",
            Self::GameParticleManagerEventDestroyInvolving => "GAME_PARTICLE_MANAGER_EVENT_DESTROY_INVOLVING",
            Self::GameParticleManagerEventRelease => "GAME_PARTICLE_MANAGER_EVENT_RELEASE",
            Self::GameParticleManagerEventLatency => "GAME_PARTICLE_MANAGER_EVENT_LATENCY",
            Self::GameParticleManagerEventShouldDraw => "GAME_PARTICLE_MANAGER_EVENT_SHOULD_DRAW",
            Self::GameParticleManagerEventFrozen => "GAME_PARTICLE_MANAGER_EVENT_FROZEN",
            Self::GameParticleManagerEventChangeControlPointAttachment => "GAME_PARTICLE_MANAGER_EVENT_CHANGE_CONTROL_POINT_ATTACHMENT",
            Self::GameParticleManagerEventUpdateEntityPosition => "GAME_PARTICLE_MANAGER_EVENT_UPDATE_ENTITY_POSITION",
            Self::GameParticleManagerEventSetFowProperties => "GAME_PARTICLE_MANAGER_EVENT_SET_FOW_PROPERTIES",
            Self::GameParticleManagerEventSetText => "GAME_PARTICLE_MANAGER_EVENT_SET_TEXT",
            Self::GameParticleManagerEventSetShouldCheckFow => "GAME_PARTICLE_MANAGER_EVENT_SET_SHOULD_CHECK_FOW",
            Self::GameParticleManagerEventSetControlPointModel => "GAME_PARTICLE_MANAGER_EVENT_SET_CONTROL_POINT_MODEL",
            Self::GameParticleManagerEventSetControlPointSnapshot => "GAME_PARTICLE_MANAGER_EVENT_SET_CONTROL_POINT_SNAPSHOT",
            Self::GameParticleManagerEventSetTextureAttribute => "GAME_PARTICLE_MANAGER_EVENT_SET_TEXTURE_ATTRIBUTE",
            Self::GameParticleManagerEventSetSceneObjectGenericFlag => "GAME_PARTICLE_MANAGER_EVENT_SET_SCENE_OBJECT_GENERIC_FLAG",
            Self::GameParticleManagerEventSetSceneObjectTintAndDesat => "GAME_PARTICLE_MANAGER_EVENT_SET_SCENE_OBJECT_TINT_AND_DESAT",
            Self::GameParticleManagerEventDestroyNamed => "GAME_PARTICLE_MANAGER_EVENT_DESTROY_NAMED",
            Self::GameParticleManagerEventSkipToTime => "GAME_PARTICLE_MANAGER_EVENT_SKIP_TO_TIME",
            Self::GameParticleManagerEventCanFreeze => "GAME_PARTICLE_MANAGER_EVENT_CAN_FREEZE",
            Self::GameParticleManagerEventSetNamedValueContext => "GAME_PARTICLE_MANAGER_EVENT_SET_NAMED_VALUE_CONTEXT",
            Self::GameParticleManagerEventUpdateTransform => "GAME_PARTICLE_MANAGER_EVENT_UPDATE_TRANSFORM",
            Self::GameParticleManagerEventFreezeTransitionOverride => "GAME_PARTICLE_MANAGER_EVENT_FREEZE_TRANSITION_OVERRIDE",
            Self::GameParticleManagerEventFreezeInvolving => "GAME_PARTICLE_MANAGER_EVENT_FREEZE_INVOLVING",
            Self::GameParticleManagerEventAddModellistOverrideElement => "GAME_PARTICLE_MANAGER_EVENT_ADD_MODELLIST_OVERRIDE_ELEMENT",
            Self::GameParticleManagerEventClearModellistOverride => "GAME_PARTICLE_MANAGER_EVENT_CLEAR_MODELLIST_OVERRIDE",
            Self::GameParticleManagerEventCreatePhysicsSim => "GAME_PARTICLE_MANAGER_EVENT_CREATE_PHYSICS_SIM",
            Self::GameParticleManagerEventDestroyPhysicsSim => "GAME_PARTICLE_MANAGER_EVENT_DESTROY_PHYSICS_SIM",
            Self::GameParticleManagerEventSetVdata => "GAME_PARTICLE_MANAGER_EVENT_SET_VDATA",
            Self::GameParticleManagerEventSetMaterialOverride => "GAME_PARTICLE_MANAGER_EVENT_SET_MATERIAL_OVERRIDE",
        }
    }
String value of the enum field names used in the ProtoBuf definition.

The values are not transformed in any way and thus are considered stable
(if the ProtoBuf definition does not change) and safe for programmatic use.
src/csgoproto/src/protobuf.rs