Skip to content

Class: HTTPAudioSystem

HTTPAudioSystem handles loading audio assets over HTTP and making them available to the engine for playing.

Hierarchy

Table of contents

Constructors

Properties

Methods

Constructors

constructor

+ new HTTPAudioSystem(messageBus: IMessageBus, scene?: IScene, entities?: Map<number, SystemEntity>, subscriberID?: number, assets?: AudioAsset[], context?: AudioContext): HTTPAudioSystem

Parameters:

Name Type
messageBus IMessageBus
scene? IScene
entities? Map<number, SystemEntity>
subscriberID? number
assets AudioAsset[]
context AudioContext

Returns: HTTPAudioSystem

Inherited from: MapSystem

Properties

entities

Protected entities: Map<number, SystemEntity>

A map of entities, mapped by their entity ID. ID: Entity 0: PlayerEntity 1: ObstacleEntity etc.

Inherited from: MapSystem.entities


messageBus

Protected messageBus: IMessageBus

Reference to the message bus, the fundamental piece of JamJar for communicating with other parts of the engine.

Inherited from: MapSystem.messageBus


scene

Protected Optional scene: undefined | IScene

Any scene this system is part of, will change the lifecycle of the system to be part of the scene's lifecycle - it will be destroyed when the scene is destroyed.

Inherited from: MapSystem.scene


subscriberID

subscriberID: number

Inherited from: MapSystem.subscriberID


MESSAGE_DEREGISTER

Readonly Static MESSAGE_DEREGISTER: stateful_system_deregister= "stateful_system_deregister"

Message to deregister an entity + components with a system so it is no longer tracked.

Inherited from: MapSystem.MESSAGE_DEREGISTER


MESSAGE_REGISTER

Readonly Static MESSAGE_REGISTER: stateful_system_register= "stateful_system_register"

Message to register an entity + components with a system so it can be tracked.

Inherited from: MapSystem.MESSAGE_REGISTER


MESSAGE_REQUEST_CLEAR

Readonly Static MESSAGE_REQUEST_CLEAR: request_audio_clear= "request_audio_clear"

Message to clear out loaded assets.


MESSAGE_REQUEST_FLUSH

Readonly Static MESSAGE_REQUEST_FLUSH: request_audio_flush= "request_audio_flush"

Message to send out all loaded asset messages that are currently loaded.


MESSAGE_UPDATE

Readonly Static MESSAGE_UPDATE: system_update= "system_update"

Inherited from: MapSystem.MESSAGE_UPDATE

Methods

Destroy

Destroy(): void

Destroy destroys the System and unsubscribes it from all messages. The System should be garbage collected after this, unless a direct reference to it exists somewhere. Therefore direct references to systems are discouraged; communication should all be through the message bus.

Returns: void

Inherited from: MapSystem


OnDestroy

ProtectedOnDestroy(): void

Custom Destroy logic should go here to facilitate garbage collection, for example removing listeners.

Returns: void

Inherited from: MapSystem


OnMessage

OnMessage(message: IMessage): void

Parameters:

Name Type
message IMessage

Returns: void

Overrides: MapSystem


Update

ProtectedUpdate(dt: number): void

General update method, default empty. Override with custom logic.

Parameters:

Name Type Description
dt number DeltaTime

Returns: void

Inherited from: MapSystem


handleResponse

ProtectedhandleResponse(response: Response): Promise<ArrayBuffer>

Parameters:

Name Type
response Response

Returns: Promise<ArrayBuffer>


httpError

ProtectedhttpError(request: AudioRequest, error: Error): void

Parameters:

Name Type
request AudioRequest
error Error

Returns: void


httpSuccess

ProtectedhttpSuccess(buffer: AudioBuffer, request: AudioRequest): void

Parameters:

Name Type
buffer AudioBuffer
request AudioRequest

Returns: void


register

Protectedregister(entity: IEntity, components: Component[]): void

Parameters:

Name Type
entity IEntity
components Component[]

Returns: void

Inherited from: MapSystem


remove

Protectedremove(entity: IEntity): void

Parameters:

Name Type
entity IEntity

Returns: void

Inherited from: MapSystem