From 100f8f5be4aed93d8c1cb3172065109ceb221446 Mon Sep 17 00:00:00 2001 From: Stiffly Date: Wed, 23 Apr 2014 21:33:43 +0200 Subject: [PATCH] Bug fix: checked for particles not created --- src/GameWorld.cpp | 24 ++++++++++++------------ src/Systems/ParticleSystem.cpp | 3 +++ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/GameWorld.cpp b/src/GameWorld.cpp index 455c105..1743d6d 100755 --- a/src/GameWorld.cpp +++ b/src/GameWorld.cpp @@ -91,18 +91,18 @@ void GameWorld::Initialize() GetSystem("SoundSystem")->PlaySound(emitter); }*/ -// { -// // Particle emitter -// auto ent = CreateEntity(); -// auto transform = AddComponent(ent, "Transform"); -// transform->Position = glm::vec3(0); -// auto emitter = AddComponent(ent, "ParticleEmitter"); -// emitter->LifeTime = 4; -// emitter->SpawnCount = 3; -// emitter->SpreadAngle = 35; -// emitter->SpawnFrequency = 0.3; -// //emitter-> -// } + { + // Particle emitter + auto ent = CreateEntity(); + auto transform = AddComponent(ent, "Transform"); + transform->Position = glm::vec3(0); + auto emitter = AddComponent(ent, "ParticleEmitter"); + emitter->LifeTime = 4; + emitter->SpawnCount = 3; + emitter->SpreadAngle = 35; + emitter->SpawnFrequency = 0.3; + //emitter-> + } } void GameWorld::Update(double dt) diff --git a/src/Systems/ParticleSystem.cpp b/src/Systems/ParticleSystem.cpp index d379ba9..048832d 100644 --- a/src/Systems/ParticleSystem.cpp +++ b/src/Systems/ParticleSystem.cpp @@ -28,11 +28,14 @@ void Systems::ParticleSystem::UpdateEntity(double dt, EntityID entity, EntityID SpawnParticles(entity, emitterComponent->SpawnCount, emitterComponent->SpreadAngle); m_TimeSinceLastSpawn = 0; } + std::cout<::iterator it; for(it = m_ParticleEmitter[entity].begin(); it == m_ParticleEmitter[entity].end();) { auto particleComponent = m_World->GetComponent(it->ParticleID, "Particle"); + if(!particleComponent) + break; double timeLived = glfwGetTime() - it->SpawnTime; std::cout<