Merge branch 'LevelSystemAndSuch'

This commit is contained in:
PlatinumSkink
2015-10-22 15:51:45 +02:00
7 changed files with 72 additions and 19 deletions
+25 -4
View File
@@ -47,10 +47,29 @@ void dd::Systems::LifeSystem::UpdateEntity(double dt, EntityID entity, EntityID
auto templateCheck = m_World->GetComponent<Components::Template>(entity);
if (templateCheck != nullptr){ return; }
auto life = m_World->GetComponent<Components::Life>(entity);
if (Lives() != PastLives()) {
auto life = m_World->GetComponent<Components::Life>(entity);
if (life != nullptr) {
if (life != nullptr) {
auto transform = m_World->GetComponent<Components::Transform>(entity);
if (life->Left) {
if (transform->Position.x > 3) {
life->Left = false;
transform->Velocity.x = m_LifeSpeed;
}
} else {
if (transform->Position.x < -3) {
life->Left = true;
transform->Velocity.x = -m_LifeSpeed;
}
}
transform->Position.x += transform->Velocity.x * dt;
/*glm::vec2 dir = glm::normalize(glm::vec2(transform->Velocity.x, transform->Velocity.y));
glm::vec2 up = glm::vec2(0.f, 1.f);
float angle = glm::acos(glm::dot<float>(dir, up)) * glm::sign(dir.x);
transform->Orientation = glm::rotate(glm::quat(), angle, glm::vec3(0.f, 0.f, -1.f));*/
if (Lives() != PastLives()) {
if (life->Number + 1 == PastLives()) {
m_World->RemoveEntity(entity);
SetPastLives(Lives());
@@ -64,7 +83,9 @@ void dd::Systems::LifeSystem::CreateLife(int number)
auto life = m_World->CreateEntity();
std::shared_ptr<Components::Transform> transform = m_World->AddComponent<Components::Transform>(life);
transform->Position = glm::vec3(-1.5f + number * 0.15f, -2.f, -5.f);
//transform->Position = glm::vec3(-1.5f + number * 1.5f, -3.f, -10.f);
transform->Scale = glm::vec3(0.1f, 0.1f, 0.1f);
//transform->Scale = glm::vec3(0.2f, 0.2f, 0.2f);
std::shared_ptr<Components::Life> lifeNr = m_World->AddComponent<Components::Life>(life);
lifeNr->Number = number;
@@ -83,7 +104,7 @@ bool dd::Systems::LifeSystem::OnLifeLost(const dd::Events::LifeLost &event)
SetLives(Lives() - 1);
return true;
}
return false;
return true;
}
bool dd::Systems::LifeSystem::OnPause(const dd::Events::Pause &event)