Phaser. Signal

new Signal()

A Signal is an event dispatch mechanism that supports broadcasting to multiple listeners.

Event listeners are uniquely identified by the listener/callback function and the context.

Source - core/Signal.js, line 16

Members

active :boolean

Is the Signal active? Only active signals will broadcast dispatched events.

Setting this property during a dispatch will only affect the next dispatch. To stop the propagation of a signal from a listener use halt.

Default Value:
  • true
Source - core/Signal.js, line 57

memorize :boolean

Memorize the previously dispatched event?

If an event has been memorized it is automatically dispatched when a new listener is added with add or addOnce. Use forget to clear any currently memorized event.

Source - core/Signal.js, line 41

Methods

add(listener, listenerContext, priority, args) → {Phaser.SignalBinding}

Add an event listener for this signal.

An event listener is a callback with a related context and priority.

You can optionally provide extra arguments which will be passed to the callback after any internal parameters.

For example: Phaser.Key.onDown when dispatched will send the Phaser.Key object that caused the signal as the first parameter. Any arguments you've specified after priority will be sent as well:

fireButton.onDown.add(shoot, this, 0, 'lazer', 100);

When onDown dispatches it will call the shoot callback passing it: Phaser.Key, 'lazer', 100.

Where the first parameter is the one that Key.onDown dispatches internally and 'lazer', and the value 100 were the custom arguments given in the call to 'add'.

Parameters:
Name Type Argument Default Description
listener function

The function to call when this Signal is dispatched.

listenerContext object <optional>

The context under which the listener will be executed (i.e. the object that should represent the this variable).

priority number <optional>

The priority level of the event listener. Listeners with higher priority will be executed before listeners with lower priority. Listeners with same priority level will be executed at the same order as they were added (default = 0)

args any <optional>
<repeatable>
(none)

Additional arguments to pass to the callback (listener) function. They will be appended after any arguments usually dispatched.

Returns:

An Object representing the binding between the Signal and listener.

Source - core/Signal.js, line 189

addOnce(listener, listenerContext, priority, args) → {Phaser.SignalBinding}

Add a one-time listener - the listener is automatically removed after the first execution.

If there is as memorized event then it will be dispatched and the listener will be removed immediately.

Parameters:
Name Type Argument Default Description
listener function

The function to call when this Signal is dispatched.

listenerContext object <optional>

The context under which the listener will be executed (i.e. the object that should represent the this variable).

priority number <optional>

The priority level of the event listener. Listeners with higher priority will be executed before listeners with lower priority. Listeners with same priority level will be executed at the same order as they were added (default = 0)

args any <optional>
<repeatable>
(none)

Additional arguments to pass to the callback (listener) function. They will be appended after any arguments usually dispatched.

Returns:

An Object representing the binding between the Signal and listener.

Source - core/Signal.js, line 231

dispatch(params)

Dispatch / broadcast the event to all listeners.

To create an instance-bound dispatch for this Signal, use boundDispatch.

Parameters:
Name Type Argument Description
params any <optional>

Parameters that should be passed to each handler.

Source - core/Signal.js, line 352

dispose()

Dispose the signal - no more events can be dispatched.

This removes all event listeners and clears references to external objects. Calling methods on a disposed objects results in undefined behavior.

Source - core/Signal.js, line 408

forget()

Forget the currently memorized event, if any.

Source - core/Signal.js, line 394

getNumListeners() → {integer}

Gets the total number of listeners attached to this Signal.

Returns:
integer -

Number of listeners attached to the Signal.

Source - core/Signal.js, line 326

halt()

Stop propagation of the event, blocking the dispatch to next listener on the queue.

This should be called only during event dispatch as calling it before/after dispatch won't affect another broadcast. See active to enable/disable the signal entirely.

Source - core/Signal.js, line 338

has(listener, context) → {boolean}

Check if a specific listener is attached.

Parameters:
Name Type Argument Description
listener function

Signal handler function.

context object <optional>

Context on which listener will be executed (object that should represent the this variable inside listener function).

Returns:
boolean -

If Signal has the specified listener.

Source - core/Signal.js, line 175

remove(listener, context) → {function}

Remove a single event listener.

Parameters:
Name Type Argument Default Description
listener function

Handler function that should be removed.

context object <optional>
null

Execution context (since you can add the same handler multiple times if executing in a different context).

Returns:
function -

Listener handler function.

Source - core/Signal.js, line 262

removeAll(context)

Remove all event listeners.

Parameters:
Name Type Argument Default Description
context object <optional>
null

If specified only listeners for the given context will be removed.

Source - core/Signal.js, line 286

toString() → {string}

A string representation of the object.

Returns:
string -

String representation of the object.

Source - core/Signal.js, line 428
Phaser Copyright © 2012-2015 Photon Storm Ltd.
Documentation generated by JSDoc 3.3.2 on Thu Feb 18 2016 14:41:06 GMT+0000 (GMT Standard Time) using the DocStrap template.