diff --git a/include/Game/Systems/ScoreScreenSystem.h b/include/Game/Systems/ScoreScreenSystem.h index 691aa791..b65d9465 100644 --- a/include/Game/Systems/ScoreScreenSystem.h +++ b/include/Game/Systems/ScoreScreenSystem.h @@ -1,18 +1,22 @@ #ifndef ScoreScreenSystem_h__ #define ScoreScreenSystem_h__ -#include "../../Engine/Core/System.h" -#include "../../Engine/GLM.h" +#include "Core/System.h" +#include "Core/EPlayerDeath.h" +#include "Core/EPlayerSpawned.h" +#include "GLM.h" class ScoreScreenSystem : public PureSystem { public: - ScoreScreenSystem(SystemParams params) - : System(params) - , PureSystem("ScoreScreen") - { } + ScoreScreenSystem(SystemParams params); virtual void UpdateComponent(EntityWrapper& entity, ComponentWrapper& capturePoint, double dt) override; + + EventRelay m_EPlayerDeath; + void OnPlayerDeath(const Events::PlayerDeath& e); + EventRelay m_EPlayerSpawned; + void OnPlayerSpawn(const Events::PlayerSpawned& e); }; #endif \ No newline at end of file diff --git a/src/Game/Systems/ScoreScreenSystem.cpp b/src/Game/Systems/ScoreScreenSystem.cpp index 8fa4dd73..37dccb20 100644 --- a/src/Game/Systems/ScoreScreenSystem.cpp +++ b/src/Game/Systems/ScoreScreenSystem.cpp @@ -1,6 +1,25 @@ #include "Game/Systems/ScoreScreenSystem.h" + +ScoreScreenSystem::ScoreScreenSystem(SystemParams params) + : System(params) + , PureSystem("ScoreScreen") +{ + EVENT_SUBSCRIBE_MEMBER(m_EPlayerDeath, &ScoreScreenSystem::OnPlayerDeath); + EVENT_SUBSCRIBE_MEMBER(m_EPlayerSpawned, &ScoreScreenSystem::OnPlayerSpawn); +} + void ScoreScreenSystem::UpdateComponent(EntityWrapper& entity, ComponentWrapper& capturePoint, double dt) { //Logic here } + +void ScoreScreenSystem::OnPlayerDeath(const Events::PlayerDeath& e) +{ + //When player die, add it to his score, and when possible the player who killed him. +} + +void ScoreScreenSystem::OnPlayerSpawn(const Events::PlayerSpawned& e) +{ + //When a player spawn, add a new entry to the score screen. +}