// import * as Phaser from 'phaser'; import BaseGeom from './geoms/base/BaseGeom'; /** * Base shape container for custom shapes. */ export default class BaseShapes extends Phaser.GameObjects.Shape { /** * Create a shape container. * @param scene - The Scene to which this object belongs. * @param x - The x position. * @param y - The y position. * @param width - The width. * @param height - The height. */ constructor( scene: Phaser.Scene, x?: number, y?: number, width?: number, height?: number ); /** * Set size. * @param width - Width value. * @param height - Height value. * @returns This instance. */ setSize(width: number, height: number): this; /** * Resize the shapes. * @param width - Width value. * @param height - Height value. * @returns This instance. */ resize(width: number, height: number): this; /** * Width value. */ width: number; /** * Height value. */ height: number; /** * True if size changed. */ isSizeChanged: boolean; /** * Set fill style. * @param color - Fill color. * @param alpha - Fill alpha. * @returns This instance. */ setFillStyle(color: number, alpha: number): this; /** * Fill color. */ fillColor: number; /** * Fill alpha. */ fillAlpha: number; /** * Set stroke style. * @param lineWidth - Line width. * @param color - Stroke color. * @param alpha - Stroke alpha. * @returns This instance. */ setStrokeStyle(lineWidth: number, color: number, alpha: number): this; /** * Line width. */ lineWidth: number; /** * Stroke color. */ strokeColor: number; /** * Stroke alpha. */ strokeAlpha: number; /** * Set dirty flag. * @param dirty - True to mark dirty. * @returns This instance. */ setDirty(dirty?: boolean): this; /** * Dirty flag. */ dirty: boolean; /** * Update shapes. * @returns This instance. */ updateShapes(): this; /** * Get a shape by name. * @param name - Shape name. * @returns Shape instance. */ getShape(name: string): BaseGeom; /** * Get all shapes. * @returns Shapes array. */ getShapes(): BaseGeom[]; /** * Add a shape. * @param shape - Shape instance. * @returns This instance. */ addShape(shape: BaseGeom): this; /** * Delete a shape by name. * @param name - Shape name. * @returns This instance. */ deleteShape(name: string): this; /** * Clear all shapes. * @returns This instance. */ clear(): this; }