UNPKG

@real_one_chess_king/game-logic

Version:
19 lines (18 loc) 1.07 kB
import { Action } from "./affect/affect.types"; import { PostMovementRule } from "./rules/piece-post-movement/post-movement.rule"; import { RuleMeta } from "./rules/piece-movement/rules"; import { GetPiece } from "./get-piece"; import { Turn } from "./turn"; import { PieceType } from "./piece/piece.constants"; import { Entity } from "./entity"; import { PostMovementRuleMeta } from "./rules/piece-post-movement/post-movement.types"; export declare class RulesEngine { private movementRules; private postMovementRules; addMovementRule(ruleMeta: RuleMeta): void; addMovementRules(rulesMeta: RuleMeta[]): void; addPostMovementRule(ruleMeta: PostMovementRuleMeta): void; addPostMovementRules(rulesMeta: PostMovementRuleMeta[]): void; getAvailableMoves(ruleId: Entity["id"], x: number, y: number, getPiece: GetPiece, turns: Turn[], size: number): import("./affect/affect.types").Affects[]; addPostMovementCorrections(rule: PostMovementRule["id"], sourceMoves: Action[], pieceType: PieceType): import("./affect/affect.types").Affects[]; }