Class: Systems

Phaser.Scenes. Systems

The Scene Systems class.

This class is available from within a Scene under the property sys. It is responsible for managing all of the plugins a Scene has running, including the display list, and handling the update step and renderer. It also contains references to global systems belonging to Game.


new Systems(scene, config)

Parameters:
Name Type Description
scene Phaser.Scene

The Scene that owns this Systems instance.

config string | Phaser.Types.Scenes.SettingsConfig

Scene specific configuration settings.

Since: 3.0.0
Source: src/scene/Systems.js (Line 17)

Members


add :Phaser.GameObjects.GameObjectFactory

A reference to the Scene's Game Object Factory.

Use this to quickly and easily create new Game Object's.

In the default set-up you can access this from within a Scene via the this.add property.

Type:
Since: 3.0.0
Source: src/scene/Systems.js (Line 197)

anims :Phaser.Animations.AnimationManager

A reference to the global Animations Manager.

In the default set-up you can access this from within a Scene via the this.anims property.

Type:
Since: 3.0.0
Source: src/scene/Systems.js (Line 116)

cache :Phaser.Cache.CacheManager

A reference to the global Cache. The Cache stores all files bought in to Phaser via the Loader, with the exception of images. Images are stored in the Texture Manager.

In the default set-up you can access this from within a Scene via the this.cache property.

Type:
Since: 3.0.0
Source: src/scene/Systems.js (Line 127)

cameras :Phaser.Cameras.Scene2D.CameraManager

A reference to the Scene's Camera Manager.

Use this to manipulate and create Cameras for this specific Scene.

In the default set-up you can access this from within a Scene via the this.cameras property.

Type:
Since: 3.0.0
Source: src/scene/Systems.js (Line 210)

canvas :HTMLCanvasElement

A handy reference to the Scene canvas / context.

Type:
  • HTMLCanvasElement
Since: 3.0.0
Source: src/scene/Systems.js (Line 96)

config :string|Phaser.Types.Scenes.SettingsConfig

The Scene Configuration object, as passed in when creating the Scene.

Type:
Since: 3.0.0
Source: src/scene/Systems.js (Line 78)

context :CanvasRenderingContext2D

A reference to the Canvas Rendering Context being used by the renderer.

Type:
  • CanvasRenderingContext2D
Since: 3.0.0
Source: src/scene/Systems.js (Line 105)

displayList :Phaser.GameObjects.DisplayList

A reference to the Scene's Display List.

Use this to organize the children contained in the display list.

In the default set-up you can access this from within a Scene via the this.children property.

Type:
Since: 3.0.0
Source: src/scene/Systems.js (Line 223)

events :Phaser.Events.EventEmitter

A reference to the Scene's Event Manager.

Use this to listen for Scene specific events, such as pause and shutdown.

In the default set-up you can access this from within a Scene via the this.events property.

Type:
Since: 3.0.0
Source: src/scene/Systems.js (Line 236)

facebook :Phaser.FacebookInstantGamesPlugin

The Facebook Instant Games Plugin.

Type:
Since: 3.12.0
Source: src/scene/Systems.js (Line 68)

game :Phaser.Game

A reference to the Phaser Game instance.

Type:
Since: 3.0.0
Source: src/scene/Systems.js (Line 48)

make :Phaser.GameObjects.GameObjectCreator

A reference to the Scene's Game Object Creator.

Use this to quickly and easily create new Game Object's. The difference between this and the Game Object Factory, is that the Creator just creates and returns Game Object instances, it doesn't then add them to the Display List or Update List.

In the default set-up you can access this from within a Scene via the this.make property.

Type:
Since: 3.0.0
Source: src/scene/Systems.js (Line 249)

plugins :Phaser.Plugins.PluginManager

A reference to the global Plugins Manager.

In the default set-up you can access this from within a Scene via the this.plugins property.

Type:
Since: 3.0.0
Source: src/scene/Systems.js (Line 139)

registry :Phaser.Data.DataManager

A reference to the global registry. This is a game-wide instance of the Data Manager, allowing you to exchange data between Scenes via a universal and shared point.

In the default set-up you can access this from within a Scene via the this.registry property.

Type:
Since: 3.0.0
Source: src/scene/Systems.js (Line 150)

renderer :Phaser.Renderer.Canvas.CanvasRenderer|Phaser.Renderer.WebGL.WebGLRenderer

A reference to either the Canvas or WebGL Renderer that this Game is using.

Type:
Since: 3.17.0
Source: src/scene/Systems.js (Line 57)

scale :Phaser.Scale.ScaleManager

A reference to the global Scale Manager.

In the default set-up you can access this from within a Scene via the this.scale property.

Type:
Since: 3.15.0
Source: src/scene/Systems.js (Line 162)

scene :Phaser.Scene

A reference to the Scene that these Systems belong to.

Type:
Since: 3.0.0
Source: src/scene/Systems.js (Line 39)

scenePlugin :Phaser.Scenes.ScenePlugin

A reference to the Scene Manager Plugin.

Use this to manipulate both this and other Scene's in your game, for example to launch a parallel Scene, or pause or resume a Scene, or switch from this Scene to another.

In the default set-up you can access this from within a Scene via the this.scene property.

Type:
Since: 3.0.0
Source: src/scene/Systems.js (Line 264)

settings :Phaser.Types.Scenes.SettingsObject

The Scene Settings. This is the parsed output based on the Scene configuration.

Type:
Since: 3.0.0
Source: src/scene/Systems.js (Line 87)

sound :Phaser.Sound.NoAudioSoundManager|Phaser.Sound.HTML5AudioSoundManager|Phaser.Sound.WebAudioSoundManager

A reference to the global Sound Manager.

In the default set-up you can access this from within a Scene via the this.sound property.

Type:
Since: 3.0.0
Source: src/scene/Systems.js (Line 173)

textures :Phaser.Textures.TextureManager

A reference to the global Texture Manager.

In the default set-up you can access this from within a Scene via the this.textures property.

Type:
Since: 3.0.0
Source: src/scene/Systems.js (Line 184)

updateList :Phaser.GameObjects.UpdateList

A reference to the Scene's Update List.

Use this to organize the children contained in the update list.

The Update List is responsible for managing children that need their preUpdate methods called, in order to process so internal components, such as Sprites with Animations.

In the default set-up there is no reference to this from within the Scene itself.

Type:
Since: 3.0.0
Source: src/scene/Systems.js (Line 278)

Methods


depthSort()

Immediately sorts the display list if the flag is set.

Since: 3.0.0
Source: src/scene/Systems.js (Line 421)

getData()

Returns any data that was sent to this Scene by another Scene.

The data is also passed to Scene.init and in various Scene events, but you can access it at any point via this method.

Since: 3.22.0
Source: src/scene/Systems.js (Line 551)
Returns:
Type
any

<protected> init(game)

This method is called only once by the Scene Manager when the Scene is instantiated. It is responsible for setting up all of the Scene plugins and references. It should never be called directly.

Parameters:
Name Type Description
game Phaser.Game

A reference to the Phaser Game instance.

Since: 3.0.0
Source: src/scene/Systems.js (Line 308)
Fires:

isActive()

Is this Scene running?

Since: 3.0.0
Source: src/scene/Systems.js (Line 580)
Returns:

true if this Scene is running, otherwise false.

Type
boolean

isPaused()

Is this Scene paused?

Since: 3.13.0
Source: src/scene/Systems.js (Line 593)
Returns:

true if this Scene is paused, otherwise false.

Type
boolean

isSleeping()

Is this Scene sleeping?

Since: 3.0.0
Source: src/scene/Systems.js (Line 567)
Returns:

true if this Scene is asleep, otherwise false.

Type
boolean

isTransitionIn()

Is this Scene currently transitioning in from another Scene?

Since: 3.5.0
Source: src/scene/Systems.js (Line 632)
Returns:

true if this Scene is transitioning in from another Scene, otherwise false.

Type
boolean

isTransitioning()

Is this Scene currently transitioning out to, or in from another Scene?

Since: 3.5.0
Source: src/scene/Systems.js (Line 606)
Returns:

true if this Scene is currently transitioning, otherwise false.

Type
boolean

isTransitionOut()

Is this Scene currently transitioning out from itself to another Scene?

Since: 3.5.0
Source: src/scene/Systems.js (Line 619)
Returns:

true if this Scene is in transition to another Scene, otherwise false.

Type
boolean

isVisible()

Is this Scene visible and rendering?

Since: 3.0.0
Source: src/scene/Systems.js (Line 645)
Returns:

true if this Scene is visible, otherwise false.

Type
boolean

pause( [data])

Pause this Scene. A paused Scene still renders, it just doesn't run ANY of its update handlers or systems.

Parameters:
Name Type Argument Description
data object <optional>

A data object that will be passed in the 'pause' event.

Since: 3.0.0
Source: src/scene/Systems.js (Line 432)
Fires:
Returns:

This Systems object.

Type
Phaser.Scenes.Systems

queueDepthSort()

Force a sort of the display list on the next render.

Since: 3.0.0
Source: src/scene/Systems.js (Line 410)

render(renderer)

Called automatically by the Scene Manager. Instructs the Scene to render itself via its Camera Manager to the renderer given.

Parameters:
Name Type Description
renderer Phaser.Renderer.Canvas.CanvasRenderer | Phaser.Renderer.WebGL.WebGLRenderer

The renderer that invoked the render call.

Since: 3.0.0
Source: src/scene/Systems.js (Line 389)
Fires:

resume( [data])

Resume this Scene from a paused state.

Parameters:
Name Type Argument Description
data object <optional>

A data object that will be passed in the 'resume' event.

Since: 3.0.0
Source: src/scene/Systems.js (Line 461)
Fires:
Returns:

This Systems object.

Type
Phaser.Scenes.Systems

setActive(value [, data])

Set the active state of this Scene.

An active Scene will run its core update loop.

Parameters:
Name Type Argument Description
value boolean

If true the Scene will be resumed, if previously paused. If false it will be paused.

data object <optional>

A data object that will be passed in the 'resume' or 'pause' events.

Since: 3.0.0
Source: src/scene/Systems.js (Line 676)
Returns:

This Systems object.

Type
Phaser.Scenes.Systems

setVisible(value)

Sets the visible state of this Scene. An invisible Scene will not render, but will still process updates.

Parameters:
Name Type Description
value boolean

true to render this Scene, otherwise false.

Since: 3.0.0
Source: src/scene/Systems.js (Line 658)
Returns:

This Systems object.

Type
Phaser.Scenes.Systems

shutdown( [data])

Shutdown this Scene and send a shutdown event to all of its systems. A Scene that has been shutdown will not run its update loop or render, but it does not destroy any of its plugins or references. It is put into hibernation for later use. If you don't ever plan to use this Scene again, then it should be destroyed instead to free-up resources.

Parameters:
Name Type Argument Description
data object <optional>

A data object that will be passed in the 'shutdown' event.

Since: 3.0.0
Source: src/scene/Systems.js (Line 734)
Fires:

sleep( [data])

Send this Scene to sleep.

A sleeping Scene doesn't run its update step or render anything, but it also isn't shut down or has any of its systems or children removed, meaning it can be re-activated at any point and will carry on from where it left off. It also keeps everything in memory and events and callbacks from other Scenes may still invoke changes within it, so be careful what is left active.

Parameters:
Name Type Argument Description
data object <optional>

A data object that will be passed in the 'sleep' event.

Since: 3.0.0
Source: src/scene/Systems.js (Line 489)
Fires:
Returns:

This Systems object.

Type
Phaser.Scenes.Systems

start(data)

Start this Scene running and rendering. Called automatically by the SceneManager.

Parameters:
Name Type Description
data object

Optional data object that may have been passed to this Scene from another.

Since: 3.0.0
Source: src/scene/Systems.js (Line 701)
Fires:

step(time, delta)

A single game step. Called automatically by the Scene Manager as a result of a Request Animation Frame or Set Timeout call to the main Game instance.

Parameters:
Name Type Description
time number

The time value from the most recent Game step. Typically a high-resolution timer value, or Date.now().

delta number

The delta value since the last frame. This is smoothed to avoid delta spikes by the TimeStep class.

Since: 3.0.0
Source: src/scene/Systems.js (Line 363)
Fires:

wake( [data])

Wake-up this Scene if it was previously asleep.

Parameters:
Name Type Argument Description
data object <optional>

A data object that will be passed in the 'wake' event.

Since: 3.0.0
Source: src/scene/Systems.js (Line 520)
Fires:
Returns:

This Systems object.

Type
Phaser.Scenes.Systems