UNPKG

phaser4-rex-plugins

Version:
240 lines (176 loc) 6.64 kB
import ComponentBase from '../../plugins/utils/componentbase/ComponentBase'; import Board from '../../plugins/board/board/Board'; import Match from '../../plugins/board/match/Match'; import MoveTo from '../../plugins/board/moveto/MoveTo'; import { TileXYType, TileXYZType } from '../../plugins/board/types/Position'; export default Bejeweled; declare namespace Bejeweled { interface IBoardConfig { x?: number, y?: number, cellSize?: number, cellWidth?: number, cellHeight?: number, width?: number, height?: number, } type ChessSymbol = number | string; type GenerateSymbolCallbackType = ( board: Board, tileX: number, tileY: number, excluded: undefined | ChessSymbol[] ) => ChessSymbol; type CreateChessCallbackType = ( board: Board ) => Phaser.GameObjects.GameObject; type SwapActionType = ( chess1: Phaser.GameObjects.GameObject, chess2: Phaser.GameObjects.GameObject, board: Board, bejeweled: Bejeweled, ) => void; type EliminatingActionType = ( chessArray: Phaser.GameObjects.GameObject[], board: Board, bejeweled: Bejeweled, ) => void; type MovingActionType = ( movingDirection: any, board: Board, bejeweled: Bejeweled, ) => void; interface IConfig { rexBoard?: string, board: IBoardConfig, match?: Match.IConfig, chess: { symbols: ChessSymbol[] | GenerateSymbolCallbackType, create: CreateChessCallbackType, scope?: object, moveTo?: MoveTo.IConfig, tileZ?: number | string, }, swapAction?: SwapActionType, undoSwapAction?: SwapActionType, eliminatingAction?: EliminatingActionType, fallingAction?: MovingActionType, input?: boolean, mask?: boolean, movingDirection?: number | string, debug?: boolean, } namespace Events { type Select1CallbackType = (board: Board, bejeweled: Bejeweled) => void; type Select2CallbackType = (board: Board, bejeweled: Bejeweled) => void; type SwapCallbackType = ( selectedChess1: Phaser.GameObjects.GameObject, selectedChess2: Phaser.GameObjects.GameObject, board: Board, bejeweled: Bejeweled ) => void; type MatchStartCallbackType = (board: Board, bejeweled: Bejeweled) => void; type MatchCallbackType = ( lines: Phaser.Structs.Set<Phaser.GameObjects.GameObject>[], board: Board, bejeweled: Bejeweled ) => void; type EliminateCallbackType = ( chessArray: Phaser.GameObjects.GameObject[], board: Board, bejeweled: Bejeweled ) => void; type FallCallbackType = (board: Board, bejeweled: Bejeweled) => void; type FillCallbackType = (board: Board, bejeweled: Bejeweled) => void; type MatchEndCallbackType = (board: Board, bejeweled: Bejeweled) => void; type UndoSwapCallbackType = ( selectedChess1: Phaser.GameObjects.GameObject, selectedChess2: Phaser.GameObjects.GameObject, board: Board, bejeweled: Bejeweled ) => void; type SetDataCallback = ( bejeweled: Bejeweled, key: string, value: any ) => void; type ChangeetAnyDataCallback = ( bejeweled: Bejeweled, key: string, value: any, previousValue: any ) => void; type ChangeetDataCallback = ( bejeweled: Bejeweled, value: any, previousValue: any ) => void; } } declare class Bejeweled extends ComponentBase { constructor( scene: Phaser.Scene, config?: Bejeweled.IConfig ); start(): this; setInputEnable(enable?: boolean): this; setMovingDirection(direction: any): this; getMovingDirection(): any; movingDirection: any; worldXYToChess( worldX: number, worldY: number ): Phaser.GameObjects.GameObject; chessToTileXY(chess: Phaser.GameObjects.GameObject): TileXYZType; tileXYToChess( tileX: number, tileY: number ): Phaser.GameObjects.GameObject; getNeighborChessAtAngle( chess: Phaser.GameObjects.GameObject | TileXYType, angle: number ): Phaser.GameObjects.GameObject; getNeighborChessAtDirection( chess: Phaser.GameObjects.GameObject | TileXYType, direction: number ): Phaser.GameObjects.GameObject; getChessArray( out?: Phaser.GameObjects.GameObject[] ): Phaser.GameObjects.GameObject[]; getChessArrayAtTileX( tileX: number, out?: Phaser.GameObjects.GameObject[] ): Phaser.GameObjects.GameObject[]; getChessArrayAtTileY( tileY: number, out?: Phaser.GameObjects.GameObject[] ): Phaser.GameObjects.GameObject[]; getChessArrayAtTileXYInRange( tileX: number, tileY: number, rangeX: number, rangeY: number, out?: Phaser.GameObjects.GameObject[] ): Phaser.GameObjects.GameObject[]; getChessArrayWithSymbol( symbol: any, out?: Phaser.GameObjects.GameObject[] ): Phaser.GameObjects.GameObject[]; isAwaitingInput(): boolean; dumpSymbols(): any[][]; loadSymbols(symbols?: any[][]): this; selectChess1( chess: Phaser.GameObjects.GameObject ): this; getSelectedChess1(): Phaser.GameObjects.GameObject; selectChess2( chess: Phaser.GameObjects.GameObject ): this; getSelectedChess2(): Phaser.GameObjects.GameObject; setEliminatingChess( chessArray: Phaser.GameObjects.GameObject | Phaser.GameObjects.GameObject[] ): this; getChessMoveTo( chess: Phaser.GameObjects.GameObject ): MoveTo | undefined; getChessTileZ(): number | string; getBoard(): Board; getMatch(): Match; // Custom eliminateChess, falling action waitEvent( eventEmitter: Phaser.Events.EventEmitter, eventName?: string ): this; isWaitingEvent(): boolean; // Data manager setDataEnabled(): this; setData(key: string, value: any): this; incData(key: string, value: number): this; toggleData(key: string): this; getData(key: string): any; data: Phaser.Data.DataManager; }