mdx-m3-viewer
Version:
A browser WebGL model viewer. Mainly focused on models of the games Warcraft 3 and Starcraft 2.
26 lines (25 loc) • 680 B
TypeScript
import ModelInstance from './modelinstance';
import EmittedObject from './emittedobject';
/**
* An emitter.
*/
export default abstract class Emitter {
instance: ModelInstance;
objects: EmittedObject[];
alive: number;
currentEmission: number;
abstract createObject(): EmittedObject;
abstract updateEmission(dt: number): void;
abstract emit(): void;
constructor(instance: ModelInstance);
/**
* Update this emitter.
*/
update(dt: number): void;
/**
* Clear any emitted objects.
*/
clear(): void;
emitObject(emitData?: unknown): EmittedObject;
kill(object: EmittedObject): void;
}