diff --git a/src/Systems/TankSteeringSystem.cpp b/src/Systems/TankSteeringSystem.cpp index d6ffaa3..d126ff0 100644 --- a/src/Systems/TankSteeringSystem.cpp +++ b/src/Systems/TankSteeringSystem.cpp @@ -30,12 +30,13 @@ void Systems::TankSteeringSystem::Update(double dt) void Systems::TankSteeringSystem::UpdateEntity(double dt, EntityID entity, EntityID parent) { + auto pEmitter = m_World->GetComponent(entity); if(pEmitter) - { + {auto tankTransform = m_World->GetComponent(parent); if(!m_World->GetComponent(parent)) return; - auto tankTransform = m_World->GetComponent(parent); + glm::vec2 velXZ = glm::vec2(tankTransform->Velocity.x, tankTransform->Velocity.z); float speedMPDT = glm::length(velXZ); if(speedMPDT < 1) @@ -56,6 +57,18 @@ void Systems::TankSteeringSystem::UpdateEntity(double dt, EntityID entity, Entit } } + auto vehicleComp = m_World->GetComponent(entity); + if(vehicleComp) + { + auto transform = m_World->GetComponent(entity); + if(transform->Position.y < -10) + { + Events::Dead e; + e.Entity = entity; + EventBroker->Publish(e); + } + } + auto tankSteeringComponent = m_World->GetComponent(entity); if(!tankSteeringComponent) return; diff --git a/src/Systems/TankSteeringSystem.h b/src/Systems/TankSteeringSystem.h index 61fb19a..78e3d3e 100644 --- a/src/Systems/TankSteeringSystem.h +++ b/src/Systems/TankSteeringSystem.h @@ -33,6 +33,7 @@ #include "Events/PlaySFX.h" #include "Events/PlayBGM.h" +#include "Events/Dead.h" #include "Events/Damage.h" #include "Components/Vehicle.h"