GeneratorScene
abstract class GeneratorSceneT implements SceneThreadGeneratorFactoryTThreadable
Type Parameters
Constructors​
constructor​
public new GeneratorSceneTdescription: FullSceneDescriptionThreadGeneratorFactoryT: GeneratorSceneT
Type Parameters
Parameters
Properties​
creationStack​
public creationStack?: string
experimentalFeatures​
readonly public experimentalFeatures: boolean
lifecycleEvents​
readonly public lifecycleEvents: LifecycleEvents = ...
logger​
meta​
readonly public meta: ObjectMetaFieldseed: MetaFieldanynumber = ...timeEvents: MetaFieldSerializedTimeEvent[]SerializedTimeEvent[] = ...version: MetaFieldanynumber = ...
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: SignalValueboolean
Should this scene be rendered below the previous scene during a transition?
random​
shaders​
readonly public shaders: Shaders
slides​
sounds​
timeEvents​
readonly public timeEvents: TimeEvents
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(): SubscribableValueEventCachedSceneData
Triggered when the cached data changes.
onRecalculated​
public get onRecalculated(): SubscribablevoidEventHandlervoid
Triggered after scene is recalculated.
onReloaded​
public get onReloaded(): SubscribablevoidEventHandlervoid
Triggered when the scene is reloaded.
onRenderLifecycle​
public get onRenderLifecycle(): SubscribableSceneRenderEventCanvasRenderingContext2DEventHandlerSceneRenderEventCanvasRenderingContext2D
Triggered at various stages of the render lifecycle with an event title and a Context2D.
onReset​
public get onReset(): SubscribablevoidEventHandlervoid
Triggered when the scene is reset.
onThreadChanged​
public get onThreadChanged(): SubscribableValueEventnullThread
Triggered when the main thread changes.
previous​
public get previous(): nullSceneunknown
The scene directly before this scene, or null if omitted for performance.
transitionDuration​
public get transitionDuration(): number
Scene transition duration in frames.
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 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 reload{...}: SceneDescriptionReloadThreadGeneratorFactoryT = {}: 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
{...}: SceneDescriptionReloadThreadGeneratorFactoryT = {}If present, an updated version of the description.
render​
public rendercontext: CanvasRenderingContext2D: Promisevoid
Render the scene onto a canvas.
Parameters
context: CanvasRenderingContext2DThe context to used when rendering.
reset​
public resetpreviousScene: nullSceneunknown = null: Promisevoid
Reset this scene to its initial state.
Parameters
previousScene: nullSceneunknown = 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.