Scene
interface SceneT = unknown
The main interface for scenes.
Any class implementing this interface should have a constructor matching
SceneConstructor
.
Type Parameters
T = unknown
The type of the configuration object.
Implemented by
Properties
creationStack
creationStack?: string
logger
meta
readonly meta: ObjectMetaFieldseed: MetaFieldanynumber = ...timeEvents: MetaFieldSerializedTimeEvent[]SerializedTimeEvent[] = ...version: MetaFieldanynumber = ...
name
readonly name: string
Name of the scene.
Will be passed as the second argument to the constructor.
playback
readonly playback: PlaybackStatus
Reference to the project.
previousOnTop
previousOnTop: SignalValueboolean
Should this scene be rendered below the previous scene during a transition?
random
shaders
readonly shaders: Shaders
slides
timeEvents
readonly timeEvents: TimeEvents
variables
Accessors
LifecycleEvents
public get LifecycleEvents(): LifecycleEvents
The LifecycleEvents
of this scene.
Deprecated
Use lifecycleEvents
instead.
experimentalFeatures
public get experimentalFeatures(): boolean
Whether experimental features are enabled.
firstFrame
public get firstFrame(): number
The frame at which this scene starts.
lastFrame
public get lastFrame(): number
The frame at which this scene ends.
lifecycleEvents
public get lifecycleEvents(): LifecycleEvents
The LifecycleEvents
of this scene.
previous
public get previous(): nullSceneunknown
The scene directly before this scene, or null if omitted for performance.
Events
onCacheChanged
public get onCacheChanged(): SubscribableValueEventCachedSceneData
Triggered when the cached data changes.
onRecalculated
public get onRecalculated(): SubscribableEventvoid
Triggered after scene is recalculated.
onReloaded
public get onReloaded(): SubscribableEventvoid
Triggered when the scene is reloaded.
onRenderLifecycle
public get onRenderLifecycle(): SubscribableEventSceneRenderEventCanvasRenderingContext2D
Triggered at various stages of the render lifecycle with an event title and a Context2D.
onReset
public get onReset(): SubscribableEventvoid
Triggered when the scene is reset.
Methods
canTransitionOut
public canTransitionOut(): boolean
Is this scene in the CanTransitionOut
state?
enterAfterTransitionIn
public enterAfterTransitionIn(): void
Enter the AfterTransitionIn
state.
enterCanTransitionOut
public enterCanTransitionOut(): void
Enter the CanTransitionOut
state.
enterInitial
public enterInitial(): void
Enter the Initial
state.
getRealSize
public getRealSize(): Vector2
Get the real size of this scene.
Returns the size of the scene multiplied by the resolution scale. This is the actual size of the canvas onto which the scene is rendered.
getSize
public getSize(): Vector2
Get the size of this scene.
Usually returns this.project.getSize()
.
isAfterTransitionIn
public isAfterTransitionIn(): boolean
Is this scene in the AfterTransitionIn
state?
isCached
public isCached(): boolean
Is this scene cached?
Used only by GeneratorScene
. Seeking through a project that
contains at least one uncached scene will log a warning to the console.
Should always return true
.
isFinished
public isFinished(): boolean
Is this scene in the Finished
state?
next
public next(): Promisevoid
Progress this scene one frame forward.
recalculate
Recalculate the scene.
The task of this method is to calculate new timings stored in the cache.
When this method is invoked, this.project.frame
is set to the frame at
which this scene should start (firstFrame
).
At the end of execution, this method should set this.project.frame
to the
frame at which this scene ends (lastFrame
).
Should trigger onRecalculated
.
Parameters
reload
public reloaddescription?: SceneDescriptionReloadT: void
Reload the scene.
This method is called whenever something related to this scene has changed: time events, source code, metadata, etc.
Should trigger onReloaded
.
Parameters
description?: SceneDescriptionReloadT
If present, an updated version of the description.
render
public rendercontext: CanvasRenderingContext2D: Promisevoid
Render the scene onto a canvas.
Parameters
context: CanvasRenderingContext2D
The context to used when rendering.
reset
Reset this scene to its initial state.