#ifndef RespawnSystem_h__ #define RespawnSystem_h__ #include "System.h" #include "SpawnerSystem.h" #include "EEntityDeleted.h" #include "EPause.h" class RespawnSystem : public PureSystem { public: RespawnSystem(SystemParams params); virtual void UpdateComponent(EntityWrapper& entity, ComponentWrapper& cRespawn, double dt) override; private: std::unordered_map m_LastRespawnedEntity; bool m_Paused = false; EventRelay m_EEntityDeleted; bool OnEntityDeleted(const Events::EntityDeleted& e); EventRelay m_EPause; bool OnPause(const Events::Pause& e); EventRelay m_EResume; bool OnResume(const Events::Resume& e); }; #endif