UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

111 lines 3.13 kB
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