group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
ShotEvent.hpp
Go to the documentation of this file.
1
3
4#pragma once
5
7
8#include <entt/entt.hpp>
9#include <glm/vec3.hpp>
10
12enum class ParticleEffectType : uint8_t
13{
16 Impact,
17 Explosion,
18 Smoke,
19};
20
36static_assert(std::is_trivially_copyable_v<NetParticleEvent>);
Projectile component and weapon/surface type enumerations.
SurfaceType
Surface material hit by a projectile — drives impact effect parameters.
Definition Projectile.hpp:13
ParticleEffectType
Type of particle effect to spawn on the client.
Definition ShotEvent.hpp:13
@ Impact
pos1=position, pos2=normal, surfaceType, weaponType
@ BulletTracer
pos1=origin, pos2=direction, param=distance
@ HitscanBeam
pos1=origin, pos2=hitPos, weaponType
@ Explosion
pos1=position, param=blastRadius
@ Smoke
pos1=position, param=radius
WeaponType
Weapon type — determines tracer style, damage, sound, and impact effects.
Definition WeaponState.hpp:10
@ Rifle
Fast hitscan/projectile (R301-style capsule tracer)
Wire-format particle event broadcast from server to all clients.
Definition ShotEvent.hpp:26
glm::vec3 pos2
Direction / hitPos / normal.
Definition ShotEvent.hpp:33
float param
Distance / radius.
Definition ShotEvent.hpp:34
uint8_t pad_
Definition ShotEvent.hpp:31
glm::vec3 pos1
Origin / position.
Definition ShotEvent.hpp:32
entt::entity source
Entity that caused this (for skip-self logic).
Definition ShotEvent.hpp:27
ParticleEffectType effectType
Definition ShotEvent.hpp:28
WeaponType weaponType
Definition ShotEvent.hpp:29
SurfaceType surfaceType
Definition ShotEvent.hpp:30