@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
111 lines • 3.13 kB
TypeScript
export type SoundEmitterChannels = string;
export namespace SoundEmitterChannels {
let Effects: string;
let Music: string;
let Ambient: string;
}
export class SoundEmitterSystem extends System<any, any, any, any, any> {
/**
*
* @param {AssetManager} assetManager
* @param {AudioNode} destinationNode
* @param {AudioContext} context
* @constructor
* @property {AssetManager} assetManager
*/
constructor(assetManager: AssetManager, destinationNode: AudioNode, context: AudioContext);
dependencies: (typeof Transform | typeof SoundEmitter)[];
destinationNode: AudioNode;
/**
*
* @type {AudioContext}
*/
webAudioContext: AudioContext;
assetManager: AssetManager;
/**
*
* @type {Object<SoundEmitterChannel>}
*/
channels: any;
/**
*
* @type {SoundEmitterComponentContext[]}
*/
data: SoundEmitterComponentContext[];
/**
*
* @type {IncrementalDeltaSet<SoundEmitterComponentContext>}
*/
activeSet: IncrementalDeltaSet<SoundEmitterComponentContext>;
/**
* Spatial index
* @type {BVH}
* @private
*/
private __bvh;
/**
* Number of currently linked entities
* @type {number}
* @private
*/
private __linkedCount;
startup(entityManager: any): Promise<void>;
shutdown(entityManager: any): Promise<void>;
/**
*
* @param {SoundEmitterComponentContext} ctx
*/
handleContextActivation(ctx: SoundEmitterComponentContext): void;
/**
*
* @param {SoundEmitterComponentContext} ctx
*/
handleContextDeactivation(ctx: SoundEmitterComponentContext): void;
/**
*
* @param {String} name
* @returns {number}
*/
getChannelVolume(name: string): number;
/**
*
* @param {String} name
* @param {number} value
*/
setChannelVolume(name: string, value: number): void;
addChannel(name: any): this;
/**
*
* @param {String} name
* @returns {boolean}
*/
hasChannel(name: string): boolean;
/**
*
* @param {SoundEmitter} emitter
* @param {Transform} transform
* @param {number} entity
*/
link(emitter: SoundEmitter, transform: Transform, entity: number): void;
/**
*
* @param {SoundEmitter} emitter
* @param {Transform} transform
* @param {number} entity
*/
unlink(emitter: SoundEmitter, transform: Transform, entity: number): void;
/**
*
* @param {SoundEmitterComponentContext} emitter
* @returns {boolean}
*/
emitter_in_hearing_range(emitter: SoundEmitterComponentContext): boolean;
update(timeDelta: any): void;
#private;
}
import { System } from '../../../ecs/System.js';
import { Transform } from '../../../ecs/transform/Transform.js';
import { SoundEmitter } from './SoundEmitter.js';
import { SoundEmitterComponentContext } from "./SoundEmitterComponentContext.js";
import { IncrementalDeltaSet } from "../../../graphics/render/visibility/IncrementalDeltaSet.js";
//# sourceMappingURL=SoundEmitterSystem.d.ts.map