Skip to content

@emile/engine


@emile/engine / rendering/renderer / SpriteCreator

Class: abstract SpriteCreator

Defined in: src/rendering/renderer.ts:149

A sprite creator.

Sprite creators are used to create, update and delete sprites in the renderer.

If the sprite creator update method returns a ContainerChild, delete will be called and the returned ContainerChild will replace the old one.

Warning

Your create and delete methods are responsible for adding/removing the sprite from the world container. The renderer will not do this for you.

Extended by

Constructors

new SpriteCreator()

new SpriteCreator(query?, overrideQueryEntities?): SpriteCreator

Defined in: src/rendering/renderer.ts:179

Creates a new sprite creator.

Parameters

query?

EntityQuery

The query to match entities against.

overrideQueryEntities?

Set<string>

The override query entities to match against.

Returns

SpriteCreator

Properties

overrideQueryEntities?

readonly optional overrideQueryEntities: Set<string>

Defined in: src/rendering/renderer.ts:169

If set, this will override the query for this sprite creator.

Instead the sprite creator will run for all entities in this set.

This can also be useful for running a 'client only' sprite creator that doesn't use entities. You can instead fill the set with as many unique strings as you would like sprites. A good unique string would be Math.random().toString().substring(2, 15), this is almost guaranteed to be unique and not collide with any of your real entities.

DO NOT MODIFY THE SET AFTER CREATION.


query?

readonly optional query: EntityQuery

Defined in: src/rendering/renderer.ts:157

The query to match entities against.

The create, update and delete methods will only be called for entities that match this query.

If not set, the create, update and delete methods will be called for all entities.

Methods

create()

abstract create(data): ContainerChild

Defined in: src/rendering/renderer.ts:191

Creates a sprite in the renderer.

Parameters

data

SpriteCreatorData

The data for creating the sprite for the entity.

Returns

ContainerChild

The created sprite


delete()

abstract delete(data, replacing): void

Defined in: src/rendering/renderer.ts:206

Deletes a sprite from the renderer.

Parameters

data

SpriteCreatorData

The data for deleting the sprite for the entity.

replacing

boolean

Returns

void


dispose()

abstract dispose(): void

Defined in: src/rendering/renderer.ts:215

Dispose of the sprite creator.

Can be used to clean up any resources used by the sprite creator.

Called when the renderer is disposed.

Returns

void


emit()

emit(event, data): void

Defined in: src/rendering/renderer.ts:264

Emits an event to all listeners.

Parameters

event

SpriteCreatorEventType

The event to emit.

data

SpriteCreatorData

The data to pass to the listeners.

Returns

void

Note

You don't need to call this method yourself unless you want to emit custom events. The renderer will automatically emit the CREATE, UPDATE, DELETE and DISPOSE events at the appropriate times.


off()

off(event, callback?): void

Defined in: src/rendering/renderer.ts:239

Removes a listener for the given event.

If no callback is provided, all listeners for the event will be removed.

Parameters

event

SpriteCreatorEventType

The event to stop listening for.

callback?

SpriteCreatorEventCallback

The callback to stop listening for. If not provided, all listeners for the event will be removed.

Returns

void


on()

on(event, callback): void

Defined in: src/rendering/renderer.ts:223

Adds a listener for the given event.

Parameters

event

SpriteCreatorEventType

The event to listen for.

callback

SpriteCreatorEventCallback

The callback to call when the event is fired.

Returns

void


update()

abstract update(data): void | ContainerChild

Defined in: src/rendering/renderer.ts:200

Updates a sprite in the renderer.

Parameters

data

SpriteCreatorData

The data for updating the sprite for the entity.

Returns

void | ContainerChild

The new created sprite