@obliczeniowo/elementary
Version:
Library made in Angular version 19
45 lines (44 loc) • 1.58 kB
TypeScript
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;
}