diff --git a/include/Engine/Core/ECaptured.h b/include/Engine/Core/ECaptured.h index 047c5d7d..e0de0f31 100644 --- a/include/Engine/Core/ECaptured.h +++ b/include/Engine/Core/ECaptured.h @@ -1,5 +1,5 @@ -#ifndef ECaptured_h__ -#define ECaptured_h__ +#ifndef Events_Captured_h__ +#define Events_Captured_h__ #include "EventBroker.h" #include "../Core/Entity.h" diff --git a/include/Engine/Network/Server.h b/include/Engine/Network/Server.h index 828a1d99..67859143 100644 --- a/include/Engine/Network/Server.h +++ b/include/Engine/Network/Server.h @@ -52,9 +52,9 @@ private: char readBuffer[BUFFERSIZE] = { 0 }; size_t bytesRead = 0; // time for previouse message - double previousePingMessage = 0; + double previousPingMessage = 0; double previousSnapshotMessage = 0; - double timOutTimer = 0; + double timeOutTimer = 0; // How often we send messages (seconds) double pingInterval = 1; diff --git a/include/Game/Events/EReset.h b/include/Game/Events/EReset.h index 39281f8e..70fea123 100644 --- a/include/Game/Events/EReset.h +++ b/include/Game/Events/EReset.h @@ -1,5 +1,5 @@ -#ifndef Reset_h__ -#define Reset_h__ +#ifndef Events_Reset_h__ +#define Events_Reset_h__ #include "Core/EventBroker.h" #include "Core/EntityWrapper.h" diff --git a/include/Game/Systems/ScoreScreenSystem.h b/include/Game/Systems/ScoreScreenSystem.h index 265c8ec0..6b2bb113 100644 --- a/include/Game/Systems/ScoreScreenSystem.h +++ b/include/Game/Systems/ScoreScreenSystem.h @@ -9,6 +9,7 @@ #include "Network/EPlayerConnected.h" #include "Network/EPlayerDisconnected.h" #include "Game/Events/EReset.h" +#include "Engine/Input/EInputCommand.h" #include "GLM.h" class ScoreScreenSystem : public PureSystem @@ -28,6 +29,8 @@ public: bool OnPlayerDisconnected(const Events::PlayerDisconnected& e); EventRelay m_EReset; bool OnReset(const Events::Reset& e); + EventRelay m_EInputCommand; + bool OnInputCommand(const Events::InputCommand& e); private: struct PlayerData { diff --git a/src/Engine/Network/Server.cpp b/src/Engine/Network/Server.cpp index b769e44e..dc40ea3f 100644 --- a/src/Engine/Network/Server.cpp +++ b/src/Engine/Network/Server.cpp @@ -94,17 +94,17 @@ void Server::Update(double dt) previousSnapshotMessage = 0; } // Send pings each - previousePingMessage += dt; - if (pingInterval < previousePingMessage) { + previousPingMessage += dt; + if (pingInterval < previousPingMessage) { sendPing(); - previousePingMessage = 0; + previousPingMessage = 0; } // Time out logic - timOutTimer += dt; - if (checkTimeOutInterval < timOutTimer) { + timeOutTimer += dt; + if (checkTimeOutInterval < timeOutTimer) { checkForTimeOuts(); - timOutTimer = 0; + timeOutTimer = 0; } m_EventBroker->Process(); if (isReadingData) { @@ -117,7 +117,7 @@ void Server::Update(double dt) // Take the first CapturePointGameMode component found. ComponentWrapper& modeComponent = *pool->begin(); // Decrease timer. - double& timer = (double&)modeComponent["ResetCountdown"]; + Field timer = modeComponent["ResetCountdown"]; timer -= dt; if (timer < 0) { resetMap(); diff --git a/src/Game/Systems/CapturePointSystem.cpp b/src/Game/Systems/CapturePointSystem.cpp index 16e5b005..6739b814 100644 --- a/src/Game/Systems/CapturePointSystem.cpp +++ b/src/Game/Systems/CapturePointSystem.cpp @@ -10,9 +10,9 @@ CapturePointSystem::CapturePointSystem(SystemParams params) EVENT_SUBSCRIBE_MEMBER(m_ETriggerTouch, &CapturePointSystem::OnTriggerTouch); EVENT_SUBSCRIBE_MEMBER(m_ETriggerLeave, &CapturePointSystem::OnTriggerLeave); EVENT_SUBSCRIBE_MEMBER(m_ECaptured, &CapturePointSystem::OnCaptured); + EVENT_SUBSCRIBE_MEMBER(m_EReset, &CapturePointSystem::OnReset); + Init(); } - EVENT_SUBSCRIBE_MEMBER(m_EReset, &CapturePointSystem::OnReset); - Init(); } void CapturePointSystem::Init() diff --git a/src/Game/Systems/ScoreScreenSystem.cpp b/src/Game/Systems/ScoreScreenSystem.cpp index 78cee3ee..02518b8c 100644 --- a/src/Game/Systems/ScoreScreenSystem.cpp +++ b/src/Game/Systems/ScoreScreenSystem.cpp @@ -10,6 +10,7 @@ ScoreScreenSystem::ScoreScreenSystem(SystemParams params) EVENT_SUBSCRIBE_MEMBER(m_EPlayerConnected, &ScoreScreenSystem::OnPlayerConnected); EVENT_SUBSCRIBE_MEMBER(m_EPlayerDisconnected, &ScoreScreenSystem::OnPlayerDisconnected); EVENT_SUBSCRIBE_MEMBER(m_EReset, &ScoreScreenSystem::OnReset); + EVENT_SUBSCRIBE_MEMBER(m_EInputCommand, &ScoreScreenSystem::OnInputCommand); } void ScoreScreenSystem::UpdateComponent(EntityWrapper& entity, ComponentWrapper& scoreScreen, double dt) @@ -168,3 +169,14 @@ bool ScoreScreenSystem::OnReset(const Events::Reset & e) } return true; } + +bool ScoreScreenSystem::OnInputCommand(const Events::InputCommand & e) +{ + if (e.Command != "PickTeam" || e.PlayerID == -1 || e.Value == 0) { + return false; + } + + m_PlayerIdentities.at(e.PlayerID).Team = e.Value; + + return true; +}