PIXI.Runner
class Runner
A Runner is a highly performant and simple alternative to signals. Best used in situations where events are dispatched to many objects at high frequency (say every frame!)
like a signal..
import { Runner } from '@pixi/runner';
const myObject = {
loaded: new Runner('loaded')
}
const listener = {
loaded: function(){
// thin
}
}
myObject.loaded.add(listener);
myObject.loaded.emit();
Or for handling calling the same function on many items
import { Runner } from '@pixi/runner';
const myGame = {
update: new Runner('update')
}
const gameObject = {
update: function(time){
// update my gamey state
}
}
myGame.update.add(gameObject);
myGame.update.emit(time);
Constructor
new PIXI.Runner(name: string) → {}
Name | Type | Description |
---|---|---|
name | string |
The function name that will be executed on the listeners added to this Runner. |
Summary
Methods from Runner
this |
Add a listener to the Runner |
boolean |
|
void |
Remove all references, don't use after this. |
|
|
this |
|
this |
|
this |
Remove all listeners from the Runner |
|
Public Properties
Public Methods
add(item: any) → {this}
Add a listener to the Runner
Runners do not need to have scope or functions passed to them. All that is required is to pass the listening object and ensure that it has contains a function that has the same name as the name provided to the Runner when it was created.
Eg A listener passed to this Runner will require a 'complete' function.
import { Runner } from '@pixi/runner';
const complete = new Runner('complete');
The scope used will be the object itself.
Name | Type | Description |
---|---|---|
item | any |
The object that will be listening. |
Type | Description |
---|---|
this |
contains(item: any) → {boolean}
Check to see if the listener is already in the Runner
Name | Type | Description |
---|---|---|
item | any |
The listener that you would like to check. |
Type | Description |
---|---|
boolean |
destroy() → {void}
Remove all references, don't use after this.
Type | Description |
---|---|
void |
emit(params: any) → {this}
Dispatch/Broadcast Runner to all listeners added to the queue.
Name | Type | Attributes | Description |
---|---|---|---|
params | any |
<optional> |
(optional) parameters to pass to each listener |
Type | Description |
---|---|
this |
remove(item: any) → {this}
Remove a single listener from the dispatch queue.
Name | Type | Description |
---|---|---|
item | any |
The listener that you would like to remove. |
Type | Description |
---|---|
this |
removeAll() → {this}
Remove all listeners from the Runner
Type | Description |
---|---|
this |