Less slippery controls

This commit is contained in:
2015-10-23 15:47:35 +02:00
parent 0afb5f2670
commit 3c6c38b2ce
4 changed files with 14 additions and 3 deletions
+8 -2
View File
@@ -34,6 +34,7 @@
#include "CTemplate.h"
#include "Core/ConfigFile.h"
#include "Core/EventBroker.h"
#include "Input/InputSystem.h"
#include "Rendering/CModel.h"
#include "Rendering/CSprite.h"
#include "Rendering/CPointLight.h"
@@ -176,6 +177,9 @@ public:
m_World->ComponentFactory.Register<Components::InkBlasterBrick>();
m_World->ComponentFactory.Register<Components::KrakenAttackBrick>();
//m_World->SystemFactory.Register<Systems::InputSystem>(
// [this]() { return new Systems::InputSystem(m_World.get(), m_EventBroker); });
//m_World->AddSystem<Systems::InputSystem>();
m_World->SystemFactory.Register<Systems::LevelSystem>(
[this]() { return new Systems::LevelSystem(m_World.get(), m_EventBroker); });
m_World->AddSystem<Systems::LevelSystem>();
@@ -257,9 +261,10 @@ public:
m_LastTime = currentTime;
// Update input
m_EventBroker->Swap();
m_InputManager->Update(dt);
// Swap event queues to get fresh input data in the read queue
//m_EventBroker->Swap();
//m_EventBroker->Process<Systems::InputSystem>();
m_EventBroker->Swap();
//ResourceManager::Update();
if (m_GameIsRunning) {
@@ -284,6 +289,7 @@ public:
m_EventBroker->Process<Engine>();
// Swap event queues
m_EventBroker->Swap();
m_EventBroker->Clear();
glfwPollEvents();
}
+1
View File
@@ -121,6 +121,7 @@ public:
int Process();
int Process(std::string contextTypeName);
void Swap();
void Clear();
void Unsubscribe(BaseEventRelay &relay);
private:
+4 -1
View File
@@ -91,8 +91,11 @@ int dd::EventBroker::Process(std::string contextTypeName)
void dd::EventBroker::Swap()
{
std::swap(m_EventQueueRead, m_EventQueueWrite);
m_EventQueueWrite->clear();
}
void dd::EventBroker::Clear()
{
m_EventQueueWrite->clear();
}
void dd::EventBroker::subscribeImmediate(dd::BaseEventRelay& relay)
+1
View File
@@ -56,6 +56,7 @@ void dd::Systems::PadSystem::Initialize()
cModel->ModelFile = "Models/Ship/Ship.obj";
auto pad = m_World->AddComponent<Components::Pad>(ent);
pad->SlowdownModifier = 10.f;
m_World->CommitEntity(ent);
m_Edge = 3.2 - (ctransform->Scale.x / 2);