Now use the CloneEntity() function to spawn new particles.

This commit is contained in:
Stiffly
2014-04-28 17:56:05 +02:00
parent d917be0135
commit ea4b7b005e
4 changed files with 52 additions and 36 deletions
+6 -5
View File
@@ -28,17 +28,18 @@ class ParticleSystem : public System
public:
ParticleSystem(World* world);
void RegisterComponents(ComponentFactory* cf) override;
void Update(double dt) override;
void UpdateEntity(double dt, EntityID entity, EntityID parent) override;
private:
void SpawnParticles(EntityID emitterID, glm::vec3 pos, float spawnCount, float spreadAngle, double lifeTime, double dt);
std::map<EntityID, std::list<ParticleData>> m_ParticleEmitter;
std::map<EntityID, double> m_TimeSinceLastSpawn;
void SpawnParticles(EntityID emitterID);
float RandomizeAngle(float spreadAngle);
void ScaleInterpolation(double timeProgress, std::vector<float> scaleSpectrum, glm::vec3 &scale);
void VelocityInterpolation(double timeProgress, std::vector<glm::vec3> velocitySpectrum, glm::vec3 &velocity);
void Billboard();
std::map<EntityID, std::list<ParticleData>> m_ParticleEmitter;
std::map<EntityID, double> m_TimeSinceLastSpawn;
};
}