@gamepark/rules-api
Version:
API to implement the rules of a board game
19 lines (18 loc) • 845 B
TypeScript
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;