@moderrkowo/jsgl
Version:
Client-side JavaScript library for creating web 2D games. Focusing at objective game.
92 lines (91 loc) • 2.38 kB
TypeScript
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;
}