GeneratorScene
abstract class GeneratorSceneT implements SceneThreadGeneratorFactoryTThreadable
Type Parameters
Constructors
constructor
public new GeneratorSceneTdescription: FullSceneDescriptionThreadGeneratorFactoryT: GeneratorSceneT
Type Parameters
Parameters
Properties
assetRoot
public assetRoot: `${string}/` = '/'
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
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.
Methods
adjustVolume
abstract public adjustVolumevolumeScale: number: void
Parameters
volumeScale: number
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.
getMediaAssets
public getMediaAssets(): AssetInfo[]
Get all media assets
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: CanvasRenderingContext2D
The context to used when rendering.
reset
public resetpreviousScene: nullSceneunknown = null: Promisevoid
Reset this scene to its initial state.
Parameters
previousScene: nullSceneunknown = null
If present, the previous scene.
stopAllMedia
public stopAllMedia(): void
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.