Skip to content

Class: ScriptTriggerSystem

ScriptTriggerSystem handles triggering scripts to be executed based on the Script component. Interprets Script components to trigger events at the expected times.

Hierarchy

Table of contents

Constructors

Properties

Methods

Constructors

constructor

+ new ScriptTriggerSystem(messageBus: IMessageBus, scene?: IScene, entities?: Map<number, SystemEntity>, subscriberID?: number): ScriptTriggerSystem

Parameters:

Name Type
messageBus IMessageBus
scene? IScene
entities? Map<number, SystemEntity>
subscriberID? number

Returns: ScriptTriggerSystem

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


DESCRIPTOR_UPDATE

Readonly Static DESCRIPTOR_UPDATE: update= "update"

Descriptor for a script triggered as part of an update event.


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_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

Inherited from: MapSystem


Update

Update(dt: number): void

Parameters:

Name Type
dt number

Returns: void

Overrides: MapSystem


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