UNPKG

mdx-m3-viewer

Version:

A browser WebGL model viewer. Mainly focused on models of the games Warcraft 3 and Starcraft 2.

32 lines (24 loc) 817 B
import ParticleEmitterObject from './particleemitterobject'; import MdxModelInstance from './modelinstance'; import MdxEmitter from './emitter'; import Particle from './particle'; const emissionRateHeap = new Float32Array(1); /** * An MDX particle emitter. */ export default class ParticleEmitter extends MdxEmitter { updateEmission(dt: number) { let instance = <MdxModelInstance>this.instance; if (instance.allowParticleSpawn) { let emitterObject = <ParticleEmitterObject>this.emitterObject; emitterObject.getEmissionRate(emissionRateHeap, instance.sequence, instance.frame, instance.counter); this.currentEmission += emissionRateHeap[0] * dt; } } emit() { this.emitObject(); } createObject() { return new Particle(this); } }