HitLagSystem implemented.

This commit is contained in:
PlatinumSkink
2015-09-30 16:42:35 +02:00
parent c31ff4cfcb
commit c63ec035a7
11 changed files with 147 additions and 90 deletions
+2 -32
View File
@@ -19,7 +19,6 @@ void dd::Systems::BallSystem::Initialize()
EVENT_SUBSCRIBE_MEMBER(m_EResetBall, &BallSystem::OnResetBall);
EVENT_SUBSCRIBE_MEMBER(m_EMultiBall, &BallSystem::OnMultiBall);
EVENT_SUBSCRIBE_MEMBER(m_EPause, &BallSystem::OnPause);
EVENT_SUBSCRIBE_MEMBER(m_EHitLag, &BallSystem::OnHitLag);
//OctoBall
{
@@ -68,27 +67,11 @@ void dd::Systems::BallSystem::Update(double dt)
Events::GameOver e;
EventBroker->Publish(e);
}
/* if (HitLag()) {
m_HitLagTimer += 0.1 * dt;
if (Pause()) {
if (m_HitLagTimer > 1) {
SetPause(false);
m_HitLagTimer = 0;
}
} else {
if (m_HitLagTimer > m_HitLagPlacement) {
SetPause(true);
m_HitLagPlacement *= 0.9;
m_HitLagTimer = 0;
}
}
}*/
}
void dd::Systems::BallSystem::UpdateEntity(double dt, EntityID entity, EntityID parent)
{
if (Pause()) {
if (IsPaused()) {
return;
}
@@ -170,7 +153,7 @@ void dd::Systems::BallSystem::UpdateEntity(double dt, EntityID entity, EntityID
bool dd::Systems::BallSystem::OnPause(const dd::Events::Pause &event)
{
if (Pause()) {
if (IsPaused()) {
SetPause(false);
} else {
SetPause(true);
@@ -178,19 +161,6 @@ bool dd::Systems::BallSystem::OnPause(const dd::Events::Pause &event)
return true;
}
bool dd::Systems::BallSystem::OnHitLag(const dd::Events::HitLag &event)
{
if (HitLag()) {
SetHitLag(false);
} else {
SetHitLag(true);
m_Time = event.Time;
m_SlowdownTime = event.SlowdownTime;
m_HitLagTimer = m_SlowdownTime;
}
return true;
}
void dd::Systems::BallSystem::OnEntityCommit(EntityID entity)
{
+48
View File
@@ -0,0 +1,48 @@
//
// Created by Adniklastrator on 2015-09-30.
//
#include "PrecompiledHeader.h"
#include "Game/HitLagSystem.h"
void dd::Systems::HitLagSystem::Initialize()
{
EVENT_SUBSCRIBE_MEMBER(m_EPause, &HitLagSystem::OnPause);
EVENT_SUBSCRIBE_MEMBER(m_EHitLag, &HitLagSystem::OnHitLag);
}
void dd::Systems::HitLagSystem::Update(double dt)
{
if (IsPaused()) {
if (HitLag()) {
m_HitLagTimer += dt;
std::cout << m_HitLagTimer << std::endl;
if (m_HitLagDuration < m_HitLagTimer) {
m_HitLagTimer = 0;
SetHitLag(false);
Events::Pause e;
EventBroker->Publish(e);
}
}
return;
}
}
bool dd::Systems::HitLagSystem::OnPause(const dd::Events::Pause &event)
{
if (IsPaused()) {
SetPause(false);
} else {
SetPause(true);
}
return true;
}
bool dd::Systems::HitLagSystem::OnHitLag(const dd::Events::HitLag &event)
{
SetHitLag(true);
Events::Pause e;
EventBroker->Publish(e);
m_HitLagDuration = event.Time;
return true;
}
+2 -2
View File
@@ -31,7 +31,7 @@ void dd::Systems::LevelSystem::Update(double dt)
void dd::Systems::LevelSystem::UpdateEntity(double dt, EntityID entity, EntityID parent)
{
if (Pause()) {
if (IsPaused()) {
return;
}
auto templateCheck = m_World->GetComponent<Components::Template>(entity);
@@ -77,7 +77,7 @@ void dd::Systems::LevelSystem::UpdateEntity(double dt, EntityID entity, EntityID
bool dd::Systems::LevelSystem::OnPause(const dd::Events::Pause &event)
{
if (Pause()) {
if (IsPaused()) {
SetPause(false);
} else {
SetPause(true);
+2 -6
View File
@@ -59,7 +59,7 @@ void dd::Systems::PadSystem::UpdateEntity(double dt, EntityID entity, EntityID p
void dd::Systems::PadSystem::Update(double dt)
{
if (Pause()) {
if (IsPaused()) {
return;
}
if (Entity() == 0) {
@@ -111,7 +111,7 @@ void dd::Systems::PadSystem::Update(double dt)
bool dd::Systems::PadSystem::OnPause(const dd::Events::Pause &event)
{
if (Pause()) {
if (IsPaused()) {
SetPause(false);
} else {
SetPause(true);
@@ -143,14 +143,10 @@ bool dd::Systems::PadSystem::OnKeyDown(const dd::Events::KeyDown &event)
EventBroker->Publish(e);
} else if (val == GLFW_KEY_P) {
Events::Pause e;
e.Time = 0;
e.SlowdownTime = 0;
e.Type = "All";
EventBroker->Publish(e);
} else if (val == GLFW_KEY_H) {
Events::HitLag e;
e.Time = 0.3;
e.SlowdownTime = 10;
e.Type = "All";
EventBroker->Publish(e);
} else if (val == GLFW_KEY_D) {
+2 -24
View File
@@ -26,7 +26,6 @@ void dd::Systems::PhysicsSystem::Initialize()
EVENT_SUBSCRIBE_MEMBER(m_SetImpulse, &PhysicsSystem::SetImpulse);
EVENT_SUBSCRIBE_MEMBER(m_EPause, &PhysicsSystem::OnPause);
EVENT_SUBSCRIBE_MEMBER(m_EHitLag, &PhysicsSystem::OnHitLag);
}
void dd::Systems::PhysicsSystem::InitializeWater()
@@ -62,17 +61,7 @@ bool dd::Systems::PhysicsSystem::SetImpulse(const Events::SetImpulse &event)
void dd::Systems::PhysicsSystem::Update(double dt)
{
if (Pause()) {
if (HitLag()) {
m_HitLagTimer += dt;
std::cout << m_HitLagTimer << std::endl;
if (m_HitLagPlacement < m_HitLagTimer) {
m_HitLagTimer = 0;
SetHitLag(false);
Events::Pause e;
EventBroker->Publish(e);
}
}
if (IsPaused()) {
return;
}
@@ -190,7 +179,7 @@ void dd::Systems::PhysicsSystem::UpdateEntity(double dt, EntityID entity, Entity
bool dd::Systems::PhysicsSystem::OnPause(const dd::Events::Pause &event)
{
if (Pause()) {
if (IsPaused()) {
SetPause(false);
} else {
SetPause(true);
@@ -198,17 +187,6 @@ bool dd::Systems::PhysicsSystem::OnPause(const dd::Events::Pause &event)
return true;
}
bool dd::Systems::PhysicsSystem::OnHitLag(const dd::Events::HitLag &event)
{
SetHitLag(true);
Events::Pause e;
EventBroker->Publish(e);
m_HitLagPlacement = event.Time + 10;
m_SlowdownTime = event.SlowdownTime;
m_HitLagTimer = m_SlowdownTime;
return true;
}
void dd::Systems::PhysicsSystem::OnEntityCommit(EntityID entity)
{
auto physicsComponent = m_World->GetComponent<Components::Physics>(entity);