From 082b3fd3df2500cd656a8fe44a0eee3daea031ac Mon Sep 17 00:00:00 2001 From: stiffly Date: Tue, 15 Dec 2015 17:22:46 +0100 Subject: [PATCH] Removed old input events from client --- include/Engine/Network/Client.h | 4 --- src/Engine/Network/Client.cpp | 55 +-------------------------------- src/Engine/Network/Server.cpp | 4 +++ src/Game/PlayerSystem.cpp | 8 +++-- 4 files changed, 10 insertions(+), 61 deletions(-) diff --git a/include/Engine/Network/Client.h b/include/Engine/Network/Client.h index 0cca0db5..ec0123f6 100644 --- a/include/Engine/Network/Client.h +++ b/include/Engine/Network/Client.h @@ -76,10 +76,6 @@ private: // Events EventBroker* m_EventBroker; - EventRelay m_EKeyDown; - bool OnKeyDown(const Events::KeyDown &e); - EventRelay m_EKeyUp; - bool OnKeyUp(const Events::KeyUp &e); EventRelay m_EInputCommand; bool OnInputCommand(const Events::InputCommand &e); }; diff --git a/src/Engine/Network/Client.cpp b/src/Engine/Network/Client.cpp index 9022b8ac..b4ec5b8c 100644 --- a/src/Engine/Network/Client.cpp +++ b/src/Engine/Network/Client.cpp @@ -24,10 +24,6 @@ void Client::Start(World* world, EventBroker* eventBroker) m_World = world; // Subscribe to events - m_EKeyDown = decltype(m_EKeyDown)(std::bind(&Client::OnKeyDown, this, std::placeholders::_1)); - m_EventBroker->Subscribe(m_EKeyDown); - m_EKeyUp = decltype(m_EKeyUp)(std::bind(&Client::OnKeyUp, this, std::placeholders::_1)); - m_EventBroker->Subscribe(m_EKeyUp); m_EInputCommand = decltype(m_EInputCommand)(std::bind(&Client::OnInputCommand, this, std::placeholders::_1)); m_EventBroker->Subscribe(m_EInputCommand); std::cout << "Please enter you name: "; @@ -60,8 +56,7 @@ void Client::Close() if (m_WasStarted) { Disconnect(); m_ThreadIsRunning = false; - m_EventBroker->Unsubscribe(m_EKeyDown); - m_EventBroker->Unsubscribe(m_EKeyUp); + m_EventBroker->Unsubscribe(m_EInputCommand); } } @@ -302,54 +297,6 @@ void Client::MoveMessageHead(char*& data, size_t& length, size_t stepSize) length -= stepSize; } -bool Client::OnKeyDown(const Events::KeyDown& event) -{ - if (event.KeyCode == GLFW_KEY_W) { - m_IsWASDKeyDown.W = true; - } - if (event.KeyCode == GLFW_KEY_A) { - m_IsWASDKeyDown.A = true; - } - if (event.KeyCode == GLFW_KEY_S) { - m_IsWASDKeyDown.S = true; - } - if (event.KeyCode == GLFW_KEY_D) { - m_IsWASDKeyDown.D = true; - } - - if (event.KeyCode == GLFW_KEY_V) { - Disconnect(); - } - if (event.KeyCode == GLFW_KEY_C) { - Connect(); - } - if (event.KeyCode == GLFW_KEY_P) { - Ping(); - } - return true; -} - -bool Client::OnKeyUp(const Events::KeyUp & e) -{ - if (e.KeyCode == GLFW_KEY_W) { - m_IsWASDKeyDown.W = false; - return true; - } - if (e.KeyCode == GLFW_KEY_A) { - m_IsWASDKeyDown.A = false; - return true; - } - if (e.KeyCode == GLFW_KEY_S) { - m_IsWASDKeyDown.S = false; - return true; - } - if (e.KeyCode == GLFW_KEY_D) { - m_IsWASDKeyDown.D = false; - return true; - } - return false; -} - bool Client::OnInputCommand(const Events::InputCommand & e) { if (e.Command == "Forward") { diff --git a/src/Engine/Network/Server.cpp b/src/Engine/Network/Server.cpp index 46b803bf..cffb0d81 100644 --- a/src/Engine/Network/Server.cpp +++ b/src/Engine/Network/Server.cpp @@ -303,15 +303,19 @@ void Server::ParseEvent(char * data, size_t length) if ("+Forward" == std::string(data)) { m_World->GetComponent(entityId, "Player")["Forward"] = true; + m_World->GetComponent(entityId, "Player")["Back"] = false; } else if ("-Forward" == std::string(data)) { + m_World->GetComponent(entityId, "Player")["Forward"] = false; m_World->GetComponent(entityId, "Player")["Back"] = true; } else if ("0Forward" == std::string(data)) { m_World->GetComponent(entityId, "Player")["Forward"] = false; m_World->GetComponent(entityId, "Player")["Back"] = false; } if ("+Right" == std::string(data)) { + m_World->GetComponent(entityId, "Player")["Left"] = false; m_World->GetComponent(entityId, "Player")["Right"] = true; } else if ("-Right" == std::string(data)) { + m_World->GetComponent(entityId, "Player")["Right"] = false; m_World->GetComponent(entityId, "Player")["Left"] = true; } else if ("0Right" == std::string(data)) { m_World->GetComponent(entityId, "Player")["Right"] = false; diff --git a/src/Game/PlayerSystem.cpp b/src/Game/PlayerSystem.cpp index 02e7ab22..13c4096a 100644 --- a/src/Game/PlayerSystem.cpp +++ b/src/Game/PlayerSystem.cpp @@ -2,7 +2,7 @@ void PlayerSystem::UpdateComponent(World * world, ComponentWrapper & player, double dt) { - (glm::vec3)player["Velocity"] = glm::vec3(0.f); + (glm::vec3)player["Velocity"] = glm::vec3(0.f, 0.f, 0.f); if (player["Forward"]) { ((glm::vec3&)player["Velocity"]).z = m_Speed * float(dt) * -1; } @@ -16,6 +16,8 @@ void PlayerSystem::UpdateComponent(World * world, ComponentWrapper & player, dou ((glm::vec3&)player["Velocity"]).x = m_Speed * float(dt); } - ComponentWrapper& transform = world->GetComponent(player.EntityID, "Transform"); - (glm::vec3&)transform["Position"] += (glm::vec3)player["Velocity"]; + if ((glm::vec3)player["Velocity"] != glm::vec3(0.f)) { + ComponentWrapper& transform = world->GetComponent(player.EntityID, "Transform"); + (glm::vec3&)transform["Position"] += (glm::vec3)player["Velocity"]; + } }