UNPKG

@obliczeniowo/elementary

Version:
45 lines (44 loc) 1.58 kB
import { ChessColor } from './../enums/enums'; import { QueryList } from '@angular/core'; import { ChessPawnComponent } from '../components/chess-pawn/chess-pawn.component'; import { ChessEnum } from '../enums/enums'; import { Address } from './address'; import { AbstractPiece } from './piece'; export interface AddressPiece { address: string | undefined; piece: ChessEnum; chessPieces: QueryList<ChessPawnComponent>; } export declare abstract class ChessAbstractModel { stopSetOnDrop: boolean; display: { add: boolean; }; /** * Triggered on dragged * @param dragged describe dragged field */ abstract onDragged(dragged: AddressPiece): void; /** * Triggered on drop * @param dropped Describe dropped field * @returns true when dropped is done, false when dropped fail */ abstract onDropped(dropped: AddressPiece): boolean; } export declare class ChessDragAndDropModel extends ChessAbstractModel { onDragged(dragged: AddressPiece): void; onDropped(dropped: AddressPiece): boolean; } export declare class ChessPieceMoveModel extends ChessAbstractModel { protected draggedPiece: AbstractPiece | undefined; constructor(); onDragged(dragged: AddressPiece): void; onDropped(dropped: AddressPiece): boolean; protected pawnPromote(type: ChessEnum, address: Address): ChessEnum; } export declare class PlayChessModel extends ChessPieceMoveModel { protected moveTurn: ChessColor; onDragged(dragged: AddressPiece): void; onDropped(dropped: AddressPiece): boolean; }