Skip to main content

VideoMaterial

Description​

This component allows the user to add a video texture to the entity.

Properties​

PropertyTypeDefaultDescription
rnumber0Red channel value of the material. A value between 0 and 255.
gnumber0Green channel value of the material. A value between 0 and 255.
bnumber0Blue channel value of the material. A value between 0 and 255.
textureSrcstring''The color map source, modulated by color (if set)
opacitynumber1Overall alpha/transparency of the material. A value between 0 and 1.

Functions​

Get​

Returns a read-only reference.

Example

ecs.UnlitMaterial.get(world, component.eid)

Set​

Ensures the component exists on the entity, then assigns the (optional) data to the component.

Example

ecs.UnlitMaterial.set(world, component.eid, {
r: 0,
g: 0,
b: 0,
textureSrc: '',
opacity: 1
})

Mutate​

Perform an update to the component within a callback function. Return true to indicate no changes made.

Example

ecs.UnlitMaterial.mutate(world, component.eid, (cursor) => {
cursor.r = 255;
cursor.g = 255;
cursor.b = 255;
cursor.textureSrc = 'assets/my-video.mp4';
cursor.opacity = 0.5;
return false;
})

Remove​

Removes the component from the entity.

Example

ecs.UnlitMaterial.remove(world, component.eid)

Has​

Returns true if the component is present on the entity.

Example

ecs.UnlitMaterial.has(world, component.eid)

Reset​

Adds, or resets the component to its default state.

Example

ecs.UnlitMaterial.reset(world, component.eid)

Advanced Functions​

Cursor​

Returns a mutable reference. Cursors are reused so only one cursor for each component can exist at a time.

Example
ecs.UnlitMaterial.cursor(world, component.eid)

Acquire​

Same behavior as cursor, but commit must be called after the cursor is done being used.

Example
ecs.UnlitMaterial.acquire(world, component.eid)

Commit​

Called after acquire. An optional third argument determines whether the cursor was mutated or not.

Example
ecs.UnlitMaterial.commit(world, component.eid)
ecs.UnlitMaterial.commit(world, component.eid, false)

Dirty​

Mark the entity as having been mutated. Only needed in a specific case where systems are mutating data.

Example
ecs.UnlitMaterial.dirty(world, component.eid)