UNPKG

blob2d

Version:

Typed Modular 2D Game Engine for Web

30 lines (25 loc) 601 B
import {Entity} from './Entity'; import {ITrait} from './types'; export abstract class Trait< TAddons extends {}, TTraits extends {}, TEvents extends string > implements ITrait { public entity: Entity<TAddons, TTraits, TEvents>; constructor() { this.entity = Entity.EMPTY as Entity<TAddons, TTraits, TEvents>; } /** * It can be utilized by a subclass trait * for a particular functionality. */ public update(deltaTime: number) { // fill in subclass } /** * Invoked by a parent entity when destroyed. */ public destroy() { // fill in subclass } }