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
text/typescript
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);
}
}