The Scene that this ScenePlugin belongs to.
The key of the Scene this ScenePlugin belongs to.
The Game's SceneManager.
The Scene that this ScenePlugin belongs to.
The settings of the Scene this ScenePlugin belongs to.
The Scene Systems instance of the Scene that this ScenePlugin belongs to.
If this Scene is currently transitioning to another, this holds the current percentage of the transition progress, between 0 and 1.
Add the Scene into the Scene Manager and start it if 'autoStart' is true or the Scene config 'active' property is set.
A unique key used to reference the Scene, i.e. MainMenu or Level1.
The config for the Scene
OptionalautoStart: booleanIf true the Scene will be started immediately after being added. Default false.
Optionaldata: objectOptional data object. This will be set as Scene.settings.data and passed to Scene.init, and Scene.create.
Moves a Scene so it is immediately above another Scene in the Scenes list. If the Scene is already above the other, it isn't moved.
This means it will render over the top of the other Scene.
Moves a Scene so it is immediately below another Scene in the Scenes list. If the Scene is already below the other, it isn't moved.
This means it will render behind the other Scene.
Pause the Scene - this stops the update step from happening but it still renders.
This will happen at the next Scene Manager update, not immediately.
Optionalkey: string | TThe Scene to pause.
Optionaldata: objectAn optional data object that will be passed to the Scene and emitted in its pause event.
Removes a Scene from the SceneManager.
The Scene is removed from the local scenes array, it's key is cleared from the keys cache and Scene.Systems.destroy is then called on it.
If the SceneManager is processing the Scenes when this method is called it will queue the operation for the next update sequence.
Optionalkey: string | TThe Scene to be removed.
Restarts this Scene.
This will happen at the next Scene Manager update, not immediately.
Optionaldata: objectThe Scene data. If no value is given it will not overwrite any previous data that may exist.
Resume the Scene - starts the update loop again.
This will happen at the next Scene Manager update, not immediately.
Optionalkey: string | TThe Scene to resume.
Optionaldata: objectAn optional data object that will be passed to the Scene and emitted in its resume event.
Runs the given Scene, but does not change the state of this Scene.
This will happen at the next Scene Manager update, not immediately.
If the given Scene is paused, it will resume it. If sleeping, it will wake it. If not running at all, it will be started.
Use this if you wish to open a modal Scene by calling pause on the current
Scene, then run on the modal Scene.
The Scene to run.
Optionaldata: objectA data object that will be passed to the Scene and emitted in its ready, wake, or resume events.
Sets the active state of the given Scene.
If true the Scene will be resumed. If false it will be paused.
Optionalkey: string | TThe Scene to set the active state of.
Optionaldata: objectAn optional data object that will be passed to the Scene and emitted with its events.
Makes the Scene sleep (no update, no render) but doesn't shutdown.
This will happen at the next Scene Manager update, not immediately.
Optionalkey: string | TThe Scene to put to sleep.
Optionaldata: objectAn optional data object that will be passed to the Scene and emitted in its sleep event.
Shutdown this Scene and run the given one.
This will happen at the next Scene Manager update, not immediately.
Optionalkey: string | TThe Scene to start.
Optionaldata: objectThe Scene data. If no value is given it will not overwrite any previous data that may exist.
Swaps the position of two scenes in the Scenes list.
This controls the order in which they are rendered and updated.
This will start a transition from the current Scene to the target Scene given.
The target Scene cannot be the same as the current Scene.
The transition will last for the duration specified in milliseconds.
You can have the target Scene moved above or below this one in the display list.
You can specify an update callback. This callback will be invoked every frame for the duration of the transition.
This Scene can either be sent to sleep at the end of the transition, or stopped. The default is to stop.
There are also 5 transition related events: This scene will emit the event transitionout when
the transition begins, which is typically the frame after calling this method.
The target Scene will emit the event transitioninit when that Scene's init method is called.
It will then emit the event transitionstart when its create method is called.
If the Scene was sleeping and has been woken up, it will emit the event transitionwake instead of these two,
as the Scenes init and create methods are not invoked when a Scene wakes up.
When the duration of the transition has elapsed it will emit the event transitioncomplete.
These events are cleared of all listeners when the Scene shuts down, but not if it is sent to sleep.
It's important to understand that the duration of the transition begins the moment you call this method. If the Scene you are transitioning to includes delayed processes, such as waiting for files to load, the time still counts down even while that is happening. If the game itself pauses, or something else causes this Scenes update loop to stop, then the transition will also pause for that duration. There are checks in place to prevent you accidentally stopping a transitioning Scene but if you've got code to override this understand that until the target Scene completes it might never be unlocked for input events.
The transition configuration object.
Makes the Scene wake-up (starts update and render)
This will happen at the next Scene Manager update, not immediately.
Optionalkey: string | TThe Scene to wake up.
Optionaldata: objectAn optional data object that will be passed to the Scene and emitted in its wake event.
The Scene Plugin is the main interface to the Scene Manager and allows you to control any Scene running in your game. You should always use this plugin. By default, it is mapped to the Scene property
this.scene. Meaning, from within a Scene, you can call methods such asthis.scene.start().Note that nearly all methods in this class are run on a queue-basis and not immediately. For example, calling
this.scene.launch('SceneB')will try to launch SceneB when the Scene Manager next updates, which is at the start of the game step. All operations are queued and run in the order in which they are invoked here.