UNPKG

@moderrkowo/jsgl

Version:

Client-side JavaScript library for creating web 2D games. Focusing at objective game.

92 lines (91 loc) 2.38 kB
import { Transform } from '../structs/Transform'; import { GameObjectDestroyEvent } from '../events/gameobject/GameObjectDestroyEvent'; import { TickEvent } from '../events/TickEvent'; import { GameObjectSpawnEvent } from '../events/gameobject/GameObjectSpawnEvent'; /** * Represents plain GameObject * @group Game Objects * @author Tymon Woźniak * @class */ export declare class GameObject { /** * The unique id of this game object. * @property */ readonly id: string; /** * Defines is this game object enabled in game. * @property */ enabled: boolean; /** * The name of this game object. * @property */ name: string | undefined; /** * The tag of this game object. * @property */ tag: string | undefined; /** * The order in game objects hierarchy. * @property */ sortingOrder: number; /** * The Transform - position, width, height and rotation of this game object. * @property */ transform: Transform; /** * Constructs new GameObject. * @constructor */ constructor(); /** * Invoked at game object spawn. * @method * @param event - {@link GameObjectSpawnEvent} * @virtual * @example * Start(event){ * console.log('I have been spawned!'); * } */ Start(event: GameObjectSpawnEvent): void; /** * Invoked at game object destroy. * @method * @param event - {@link GameObjectDestroyEvent} * @virtual * @example * Destroy(event){ * console.log('I have been destroyed!'); * } */ Destroy(event: GameObjectDestroyEvent): void; /** * Invoked at every frame. * @method * @param event - {@link TickEvent} * @virtual * @example * Update(event){ * this.transform.translate(new JSGL.Vector2(1, 0).multiply(event.deltaTime)); * } */ Update(event: TickEvent): void; /** * Invoked at last update in every frame. * @method * @param event - {@link TickEvent} * @virtual * @example * Update(event){ * this.transform.translate(new JSGL.Vector2(1, 0).multiply(event.deltaTime)); * } */ FixedUpdate(event: TickEvent): void; }