duckengine
Version:
A 2D Game Engine for the web.
91 lines (90 loc) • 2.46 kB
TypeScript
import Game from '../game';
import Texture from '../texture/texture';
import Scene from '../scene';
import Tile from './tile';
/**
* @class Tileset
* @classdesc Creates a DuckEngine Tileset
* @description The Tileset Class. Stores information about a tileset image and splits it into tiles
* @since 2.0.0
*/
export default class Tileset {
/**
* @memberof Tileset
* @description The Tileset image texture
* @type Texture<'image'>
* @since 2.0.0
*/
texture: Texture<'image'>;
/**
* @memberof Tileset
* @description Width of each Tile
* @type number
* @since 2.0.0
*/
tileW: number;
/**
* @memberof Tileset
* @description Height of each Tile
* @type number
* @since 2.0.0
*/
tileH: number;
/**
* @memberof Tileset
* @description Number of rows in the tileset image
* @type number
* @since 2.0.0
*/
rows: number;
/**
* @memberof Tileset
* @description Number of columns in the tileset image
* @type number
* @since 2.0.0
*/
cols: number;
/**
* @memberof Tileset
* @description Game instance
* @type Game
* @since 2.0.0
*/
game: Game;
/**
* @memberof Tileset
* @description Scene instance
* @type Scene
* @since 2.0.0
*/
scene: Scene;
/**
* @memberof Tileset
* @description Array of tiles that are generated from the Tileset
* @type Tile[]
* @since 2.0.0
*/
tiles: Tile[];
/**
* @constructor Tileset
* @description Creates a Tileset instance
* @param {string} textureKey Key to the tileset image texture
* @param {number} tileW Width of each Tile
* @param {number} tileH Height of each Tile
* @param {number} rows Number of rows in the tileset image texture
* @param {number} cols Number of columns in the tileset image texture
* @param {Game} game Game instance
* @param {Scene} scene Scene instance
* @since 2.0.0
*/
constructor(textureKey: string, tileW: number, tileH: number, rows: number, cols: number, game: Game, scene: Scene);
protected generateTiles(): void;
protected createTile(x: number, y: number, w: number, h: number): Tile;
/**
* @memberof Tileset
* @description Gets the Tile based on index
* @param {number} num Index
* @since 2.0.0
*/
getTile(num: number): Tile | undefined;
}