Class: ScriptingEngineSystem
ScriptingEngineSystem handles executing scripts, listening out for trigger events. The ScriptingEngineSystem also provides an interface for communicating between the game engine and the scripts (entities/messages/components) through the global window namespace.
Hierarchy
-
↳ ScriptingEngineSystem
Table of contents
Constructors
Properties
Methods
Constructors
constructor
+ new ScriptingEngineSystem(messageBus: IMessageBus, ref: string, scene?: IScene, scripts?: Map<string, ScriptAsset>, scriptEntity?: undefined | SystemEntity, reference?: undefined | ScriptingReference, entities?: Map<number, SystemEntity>, subscriberID?: number): ScriptingEngineSystem
Parameters:
| Name | Type |
|---|---|
messageBus |
IMessageBus |
ref |
string |
scene? |
IScene |
scripts |
Map<string, ScriptAsset> |
scriptEntity |
undefined | SystemEntity |
reference |
undefined | ScriptingReference |
entities? |
Map<number, SystemEntity> |
subscriberID? |
number |
Returns: ScriptingEngineSystem
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_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
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