UNPKG

duckengine

Version:
75 lines (74 loc) 2.58 kB
import { Duck } from '../..'; import Game from '../game'; /** * @class DisplayList * @classdesc Creates a DisplayList that manages Renderable objects * @description The DisplayList Class. Keeps track of all Renderable objects * @since 2.0.0 */ export default class DisplayList { game: Game; list: Duck.Types.Renderable[]; constructor(game: Game); /** * @memberof DisplayList * @description Adds a renderableObject to the list * @param {Duck.Types.Renderable} renderableObject A renderableObject * * Note: this pools the game's renderer pipeline for instant updates * * @since 2.0.0 */ add(renderableObject: Duck.Types.Renderable): void; /** * @memberof DisplayList * @description Removes a renderableObject from the list * @param {Duck.Types.Renderable} renderableObject A renderableObject * @since 2.0.0 */ remove(renderableObject: Duck.Types.Renderable): void; /** * @memberof DisplayList * @description Sorts all renderableObject by zIndex * @returns {Duck.Types.Renderable[]} * @since 2.0.0 */ depthSort(): Duck.Types.Renderable[]; /** * @memberof DisplayList * @description Filters all renderableObjects by its visible boolean property * @param {boolean} [filter=true] By what to filter. EX: true, filters all visible objects, optional -> default: true * @returns {Duck.Types.Renderable[]} * @since 2.0.0 */ visibilityFilter(filter?: boolean): Duck.Types.Renderable[]; /** * @memberof DisplayList * @template t * @description Loops through each renderableObject and runs a callback with it passed * @param {(renderableObject: Duck.Types.Renderable, index: number) => t} cb Callback * @since 2.0.0 */ each<t = void>(cb: (renderableObject: Duck.Types.Renderable, index: number) => t): void; /** * @memberof DisplayList * @description Removes an item from the list based on passed index * @param {number} index * @param {number} [amount] * @since 2.0.0 */ splice(index: number, amount?: number): Duck.Types.Renderable[]; /** * @memberof DisplayList * @description Gets the length of the list * @since 2.0.0 */ get length(): number; /** * @memberof DisplayList * @description Overwrites the list items with passed parameter * @param {Duck.Types.Renderable[]} listItems Renderable objects to overwrite with * @since 2.0.0 */ set listItems(listItems: Duck.Types.Renderable[]); }