UNPKG

@gamepark/rules-api

Version:

API to implement the rules of a board game

19 lines (18 loc) 845 B
import { MoveKind } from '../MoveKind'; import { StartRule } from './StartRule'; import { StartPlayerTurn } from './StartPlayerTurn'; import { EndGame } from './EndGame'; import { StartSimultaneousRule } from './StartSimultaneousRule'; import { EndPlayerTurn } from './EndPlayerTurn'; export type RuleMove<Player extends number = number, RuleId extends number = number> = StartPlayerTurn<Player, RuleId> | StartSimultaneousRule<Player, RuleId> | StartRule<RuleId> | EndGame | EndPlayerTurn<Player>; export declare enum RuleMoveType { StartPlayerTurn = 0, StartSimultaneousRule = 1, EndPlayerTurn = 2, StartRule = 3, EndGame = 4 } export type RuleMoveCommon = { kind: typeof MoveKind.RulesMove; }; export declare const isRuleChange: <P extends number = number, R extends number = number>(move: RuleMove<P, R>) => boolean;