Interface: IVideoRenderer
Video-on-a-quad capability. assetId references a video previously loaded by IAssetLoader.
The draw half mirrors ISpriteRenderer — a video is a textured quad and gets the same anchor/size/tint treatment. The transport half is here rather than in a separate audio-style backend tier because a video's texture and its playback are the same underlying object; splitting them would force two abstractions to share one element.
Every query returns a scalar on purpose: VideoRenderSystem polls them once per entity per frame, and returning a state object would allocate in a render loop.
Methods
ConsumeVideoEnded()
ts
ConsumeVideoEnded(handle): boolean;Consume-once completion latch: true exactly once per playthrough that reaches the end, cleared by the read. A latch rather than a callback so there's no subscription to keep alive across renderer swaps or component removal.
Parameters
| Parameter | Type |
|---|---|
handle | number |
Returns
boolean
CreateVideo()
ts
CreateVideo(assetId): number;Parameters
| Parameter | Type |
|---|---|
assetId | string |
Returns
number
DestroyVideo()
ts
DestroyVideo(handle): void;Parameters
| Parameter | Type |
|---|---|
handle | number |
Returns
void
GetVideoDuration()
ts
GetVideoDuration(handle): number;Parameters
| Parameter | Type |
|---|---|
handle | number |
Returns
number
GetVideoNaturalSize()
ts
GetVideoNaturalSize(handle):
| {
height: number;
width: number;
}
| null;Parameters
| Parameter | Type |
|---|---|
handle | number |
Returns
| { height: number; width: number; } | null
GetVideoTime()
ts
GetVideoTime(handle): number;Parameters
| Parameter | Type |
|---|---|
handle | number |
Returns
number
IsVideoPlaying()
ts
IsVideoPlaying(handle): boolean;Parameters
| Parameter | Type |
|---|---|
handle | number |
Returns
boolean
IsVideoReady()
ts
IsVideoReady(handle): boolean;Parameters
| Parameter | Type |
|---|---|
handle | number |
Returns
boolean
PauseVideo()
ts
PauseVideo(handle): void;Parameters
| Parameter | Type |
|---|---|
handle | number |
Returns
void
PlayVideo()
ts
PlayVideo(handle): void;Transport. Play() on a backend that still needs a user gesture must not throw or silently drop — defer and start on the first gesture instead.
Parameters
| Parameter | Type |
|---|---|
handle | number |
Returns
void
SeekVideo()
ts
SeekVideo(handle, seconds): void;Parameters
| Parameter | Type |
|---|---|
handle | number |
seconds | number |
Returns
void
SetVideoAnchor()
ts
SetVideoAnchor(
handle,
anchorX,
anchorY
): void;Parameters
| Parameter | Type |
|---|---|
handle | number |
anchorX | number |
anchorY | number |
Returns
void
SetVideoAsset()
ts
SetVideoAsset(handle, assetId): void;Parameters
| Parameter | Type |
|---|---|
handle | number |
assetId | string |
Returns
void
SetVideoLoop()
ts
SetVideoLoop(handle, loop): void;Parameters
| Parameter | Type |
|---|---|
handle | number |
loop | boolean |
Returns
void
SetVideoMuted()
ts
SetVideoMuted(handle, muted): void;Parameters
| Parameter | Type |
|---|---|
handle | number |
muted | boolean |
Returns
void
SetVideoSize()
ts
SetVideoSize(
handle,
width,
height
): void;Parameters
| Parameter | Type |
|---|---|
handle | number |
width | number |
height | number |
Returns
void
SetVideoTint()
ts
SetVideoTint(handle, tint): void;Parameters
| Parameter | Type |
|---|---|
handle | number |
tint | number |
Returns
void
SetVideoVolume()
ts
SetVideoVolume(handle, volume): void;Parameters
| Parameter | Type |
|---|---|
handle | number |
volume | number |
Returns
void
StopVideo()
ts
StopVideo(handle): void;Parameters
| Parameter | Type |
|---|---|
handle | number |
Returns
void