#include "PrecompiledHeader.h" #include "TimerSystem.h" #include "World.h" void Systems::TimerSystem::RegisterComponents( ComponentFactory* cf ) { cf->Register([]() { return new Components::Timer(); }); cf->Register([]() { return new Components::FrameTimer(); }); } void Systems::TimerSystem::UpdateEntity( double dt, EntityID entity, EntityID parent ) { auto timer = m_World->GetComponent(entity); if(timer) { timer->Time -= dt; if(timer->Time <= 0) { m_World->RemoveEntity(entity); } } auto frameTimer = m_World->GetComponent(entity); if(frameTimer) { frameTimer->Frames -= 1; if(frameTimer->Frames <= 0) { m_World->RemoveEntity(entity); } } }