diff options
author | chai <chaifix@163.com> | 2018-11-07 07:48:43 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-11-07 07:48:43 +0800 |
commit | 78138dc8e08cebff3b8630cab5b54951061844b8 (patch) | |
tree | 8588451b96253bac7145f6a71b5bf128d3223c92 /src/libjin/Graphics/particles/je_particle_emitter.h | |
parent | 007695b3828c2ef32c6ae9c619dcdcf2b8633252 (diff) |
*修改粒子系统
Diffstat (limited to 'src/libjin/Graphics/particles/je_particle_emitter.h')
-rw-r--r-- | src/libjin/Graphics/particles/je_particle_emitter.h | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/src/libjin/Graphics/particles/je_particle_emitter.h b/src/libjin/Graphics/particles/je_particle_emitter.h index 5ffbdf2..34d0ee4 100644 --- a/src/libjin/Graphics/particles/je_particle_emitter.h +++ b/src/libjin/Graphics/particles/je_particle_emitter.h @@ -41,6 +41,9 @@ namespace JinEngine } direction; }; + /// + /// How many particles emitted per second. + /// struct EmitRateDef { bool enableRandom = false; @@ -65,6 +68,8 @@ namespace JinEngine EmitRateDef emitRateDef; ///< Emit rate. }; + class ParticleSystem; + /// /// Emit a single particle. /// @@ -72,23 +77,31 @@ namespace JinEngine { public: /// - /// ParticleEmitter constructor. - /// - /// @param emitterDef Definition of particle emitter. - /// @param particleDef Definition of particle. /// - ParticleEmitter(const ParticleEmitterDef& emitterDef, const ParticleDef& particleDef); + /// + ParticleEmitter(ParticleSystem& ps); + + /// + /// + /// + void update(float dt); + + private: + /// + /// + /// + ParticleSystem& mParticleSystem; /// /// Emit a particle according to emitter definition and particle definition, particle system should /// assign particle value to the particle in particle pool, but not use this return particle. /// - Particle emit(); + void emit(const ParticleEmitterDef& emitterDef, const ParticleDef& def, Particle& particle); - private: - float mDirection; - ParticleEmitterDef mEmitterDef; - ParticleDef mParticleDef; + /// + /// + /// + float mTime; }; |