Powerup timer fixed

This commit is contained in:
ViktorLjung
2014-03-13 22:13:59 +01:00
parent e3153fe130
commit c53913f63b
3 changed files with 31 additions and 21 deletions
@@ -99,19 +99,21 @@ void Systems::LevelGenerationSystem::Update( double dt )
auto transform = m_World->GetComponent<Components::Transform>(ent, "Transform");
if(transform != nullptr)
{
transform->Velocity.z = velocity;
transform->Position += transform->Velocity * (float)dt;
// Stop raising obstacles when they reach ground level
if (transform->Velocity.y > 0 && transform->Position.y >= 0) {
transform->Position.y = 0;
transform->Velocity.y = 0;
}
if(transform->Position.z > 800)
{
removethis.push_back(ent);
}
transform->Velocity.z = velocity;
transform->Position += transform->Velocity * (float)dt;
// Stop raising obstacles when they reach ground level
if (transform->Velocity.y > 0 && transform->Position.y >= 0) {
transform->Position.y = 0;
transform->Velocity.y = 0;
}
if(transform->Position.z > 800)
{
removethis.push_back(ent);
}
}
}
+14 -8
View File
@@ -9,12 +9,14 @@ Systems::PlayerSystem::PlayerSystem( World* world ) : System(world)
m_CameraOffset = glm::vec3(0.f, 5.f, 14.f);
m_CameraOrientation = glm::angleAxis<float>(glm::radians(15.0f),glm::vec3(1,0,0));
freecamEnabled = false;
m_freecamEnabled = false;
m_poweruptimeleft = 0;
m_basespeed = 100.f;
}
void Systems::PlayerSystem::Update(double dt)
{
m_poweruptimeleft -= (float)dt;
}
void Systems::PlayerSystem::UpdateEntity(double dt, EntityID entity, EntityID parent)
@@ -29,12 +31,12 @@ void Systems::PlayerSystem::UpdateEntity(double dt, EntityID entity, EntityID pa
auto name = m_World->GetProperty<std::string>(entity, "Name");
if (name == "Camera") {
if(input->KeyState[GLFW_KEY_F4] && !input->LastKeyState[GLFW_KEY_F4]) {
if(freecamEnabled)
freecamEnabled = false;
if(m_freecamEnabled)
m_freecamEnabled = false;
else
freecamEnabled = true;
m_freecamEnabled = true;
}
if(freecamEnabled)
if(m_freecamEnabled)
{
glm::vec3 Camera_Right = glm::vec3(glm::vec4(1, 0, 0, 0) * transform->Orientation);
glm::vec3 Camera_Forward = glm::vec3(glm::vec4(0, 0, 1, 0) * transform->Orientation);
@@ -154,15 +156,19 @@ void Systems::PlayerSystem::UpdateEntity(double dt, EntityID entity, EntityID pa
if(powerupComp != nullptr)
{
transform->Velocity.z = powerupComp->Speed;
m_poweruptimeleft = 3.f;
m_World->RemoveEntity(ent);
}
}
}
if(m_poweruptimeleft <= 0)
{
transform->Velocity.z = m_basespeed;
}
// Update camera
if(! freecamEnabled)
if(! m_freecamEnabled)
{
auto cameraEntity = m_World->GetProperty<EntityID>(entity, "Camera");
auto cameraTransform = m_World->GetComponent<Components::Transform>(cameraEntity, "Transform");
+3 -1
View File
@@ -33,7 +33,9 @@ namespace Systems
glm::vec3 m_CameraOffset;
glm::quat m_CameraOrientation;
bool freecamEnabled;
bool m_freecamEnabled;
float m_basespeed;
float m_poweruptimeleft;
};
}