@mai3/phaser-sdk
Version:
A UI component library based on the Phaser game engine
57 lines • 1.86 kB
TypeScript
import { Container } from './Container';
import { BaseScene } from "../game";
import { BaseConfig, GridConfig } from '../types';
import { Panel } from './Panel';
export declare class Grid extends Panel<GridConfig> {
protected _content?: Container;
private _gridLines?;
private _draggingChild?;
private _originalPosition?;
private _originalIndex?;
private _cellWidth;
private _cellHeight;
protected _config?: GridConfig;
private indexToItemMap;
private positionToIndexMap;
private positionSlotMap;
constructor(scene: BaseScene, config: GridConfig);
private initialize;
private draw;
private setupContent;
private setupGridLayout;
private initializeGridMaps;
private addItemPlaceholder;
reDraw(config: GridConfig): void;
clear(): void;
addItems(childConfigs: BaseConfig[]): void;
private addItemToCell;
private calculateChildDimensions;
private calculateChildPosition;
private setupChild;
addCellItems(childConfigs: BaseConfig[][]): void;
addItemsToCell(itemConfigs: BaseConfig[], emptyCell: {
x: number;
y: number;
}, cellIndex: number): void;
private setupCellChild;
getItemByIndex(index: number): Container | undefined;
getCellItemsAtIndex(index: number): Container[];
getEmptyCells(): {
x: number;
y: number;
}[];
private setupDraggable;
private handleDragStart;
private handleDrag;
private handleDragEnd;
private findNearestEmptyCell;
private moveChildToEmptyCell;
swapChildren(child1: Container, child2: Container): void;
private resetDraggedChild;
private cleanupDragState;
private updateGridItemsMap;
private getChildAtPosition;
removeChild(container: Container): void;
destroy(fromScene?: boolean): void;
}
//# sourceMappingURL=Grid.d.ts.map