Skip to main content

createEntityFactory

@zylem/game-lib


@zylem/game-lib / entity / createEntityFactory

Function: createEntityFactory()

createEntityFactory<E, O>(template): TemplateFactory<E, O>

Defined in: packages/game-lib/src/lib/entities/entity-factory.ts:73

Create an entity factory from a template entity.

Type Parameters​

E​

E extends GameEntity<O>

O​

O extends GameEntityOptions = GameEntityOptions

Parameters​

template​

E

The entity to use as a template for cloning

Returns​

TemplateFactory<E, O>

Factory object with generate() method

Example​

const asteroidTemplate = createSprite({ images: [{ name: 'asteroid', file: asteroidImg }] });
const asteroidFactory = createEntityFactory(asteroidTemplate);
const asteroids = asteroidFactory.generate(10);

asteroids.forEach((asteroid) => {
asteroid.onSetup(({ me }) => {
me.setPosition(Math.random() * 20 - 10, Math.random() * 15 - 7.5, 0);
});
stage.add(asteroid);
});