GeneratorScene
abstract
class
GeneratorScene
T
implements
Scene
ThreadGeneratorFactory
T
Threadable
The default implementation of the
Scene
interface.
Uses generators to control the animation.
Type Parameters
Constructors
constructor
public
new
GeneratorScene
T
description
:
FullSceneDescription
ThreadGeneratorFactory
T
:
GeneratorScene
T
Type Parameters
Parameters
-
description : FullSceneDescription ThreadGeneratorFactory T
Properties
creationStack
public
creationStack
?:
string
experimentalFeatures
readonly
public
experimentalFeatures
:
boolean
lifecycleEvents
readonly
public
lifecycleEvents
:
LifecycleEvents
=
...
logger
readonly
public
logger
:
Logger
meta
readonly
public
meta
:
ObjectMetaField
seed
:
MetaField
any
number
=
...
timeEvents
:
MetaField
SerializedTimeEvent
[]
SerializedTimeEvent
[]
=
...
version
:
MetaField
any
number
=
...
name
readonly
public
name
:
string
Name of the scene.
Will be passed as the second argument to the constructor.
playback
readonly
public
playback
:
PlaybackStatus
Reference to the project.
previousOnTop
public
previousOnTop
:
SignalValue
boolean
Should this scene be rendered below the previous scene during a transition?
random
public
random
:
Random
shaders
readonly
public
shaders
:
Shaders
slides
readonly
public
slides
:
Slides
timeEvents
readonly
public
timeEvents
:
TimeEvents
variables
readonly
public
variables
:
Variables
Accessors
LifecycleEvents
public
get
LifecycleEvents
():
LifecycleEvents
The
LifecycleEvents
of this scene.
Deprecated
Use
lifecycleEvents
instead.
firstFrame
public
get
firstFrame
():
number
The frame at which this scene starts.
lastFrame
public
get
lastFrame
():
number
The frame at which this scene ends.
onCacheChanged
public
get
onCacheChanged
():
SubscribableValueEvent
CachedSceneData
Triggered when the cached data changes.
onRecalculated
public
get
onRecalculated
():
Subscribable
void
EventHandler
void
Triggered after scene is recalculated.
onReloaded
public
get
onReloaded
():
Subscribable
void
EventHandler
void
Triggered when the scene is reloaded.
onRenderLifecycle
public
get
onRenderLifecycle
():
Subscribable
SceneRenderEvent
CanvasRenderingContext2D
EventHandler
SceneRenderEvent
CanvasRenderingContext2D
Triggered at various stages of the render lifecycle with an event title and a Context2D.
onReset
public
get
onReset
():
Subscribable
void
EventHandler
void
Triggered when the scene is reset.
onThreadChanged
public
get
onThreadChanged
():
SubscribableValueEvent
null
Thread
Triggered when the main thread changes.
previous
public
get
previous
():
null
Scene
unknown
The scene directly before this scene, or null if omitted for performance.
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()
.
getView
abstract
public
getView
():
T
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 thatcontains 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
():
Promise
void
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 atwhich this scene should start (
firstFrame
).
At the end of execution, this method should set
this.project.frame
to theframe at which this scene ends (
lastFrame
).
Should trigger
onRecalculated
.
Parameters
reload
public
reload
{...}
:
SceneDescriptionReload
ThreadGeneratorFactory
T
=
{}
:
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
-
{...} : SceneDescriptionReload ThreadGeneratorFactory T = {}If present, an updated version of the description.
render
public
render
context
:
CanvasRenderingContext2D
:
Promise
void
Render the scene onto a canvas.
Parameters
-
context : CanvasRenderingContext2DThe context to used when rendering.
reset
public
reset
previousScene
:
null
Scene
unknown
=
null
:
Promise
void
Reset this scene to its initial state.
Parameters
-
previousScene : null Scene unknown = nullIf present, the previous scene.
update
public
update
():
void
Update the view.
Invoked after each step of the main generator.Can be used for calculating layout.
Can modify the state of the view.