group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
ExplosionSystem.hpp
Go to the documentation of this file.
1
3
4#pragma once
5
10
11#include <glm/vec3.hpp>
12#include <vector>
13
14namespace systems
15{
16
32void queueExplosion(Registry& registry,
33 glm::vec3 position,
34 float radius,
35 float maxDamage,
36 entt::entity owner,
37 float falloffExponent = 1.0f,
38 float selfDamageMultiplier = 1.0f,
39 float maxKnockback = 0.0f,
40 float knockbackFalloffExponent = 1.0f,
41 entt::entity directKillTarget = entt::null,
42 WeaponType weaponType = WeaponType::Rocket);
43
53void runExplosion(Registry& registry,
54 std::vector<NetParticleEvent>& outParticles,
55 std::vector<NetKillEvent>& killEvents);
56
57} // namespace systems
Structure of kill event broadcasted from server to clients.
Player status manager for things like life state and healing.
Shared ECS registry type alias for the game engine.
entt::registry Registry
Shared ECS registry type alias.
Definition Registry.hpp:11
Wire-format particle effect event broadcast from server to all clients.
WeaponType
Weapon type — determines tracer style, damage, sound, and impact effects.
Definition WeaponState.hpp:12
@ Rocket
Slow arcing projectile (ribbon trail).
Definition WeaponState.hpp:14
Client-only input sampling system — split into two halves so mouse look can run every iterate() (smoo...
Definition DebugUI.hpp:15
void runExplosion(Registry &registry, std::vector< NetParticleEvent > &outParticles, std::vector< NetKillEvent > &killEvents)
Process all pending explosions: apply radial damage and emit particle events.
Definition ExplosionSystem.cpp:51
void queueExplosion(Registry &registry, glm::vec3 position, float radius, float maxDamage, entt::entity owner, float falloffExponent, float selfDamageMultiplier, float maxKnockback, float knockbackFalloffExponent, entt::entity directKillTarget, WeaponType weaponType)
Create an explosion entity at the given position.
Definition ExplosionSystem.cpp:25