UNPKG

@gamepark/rules-api

Version:

API to implement the rules of a board game

53 lines (52 loc) 2.59 kB
import { MaterialItem } from '../items'; import { Location } from '../location'; import { CustomMove, DisplayHelp, DropItem, EndGame, EndPlayerTurn, HelpDisplay, StartPlayerTurn, StartRule, StartSimultaneousRule } from './index'; /** * Common namespaces for all the helper function that creates the different types of {@link MaterialMove} objects. */ export declare namespace MaterialMoveBuilder { /** * Creates a {@link StartPlayerTurn} object */ const startPlayerTurn: <P extends number = number, R extends number = number>(id: R, player: P) => StartPlayerTurn<P, R>; /** * Creates a {@link StartSimultaneousRule} object */ const startSimultaneousRule: <P extends number = number, R extends number = number>(id: R, players?: P[]) => StartSimultaneousRule<P, R>; /** * Creates a {@link EndPlayerTurn} object */ const endPlayerTurn: <P extends number = number>(player: P) => EndPlayerTurn<P>; /** * Creates a {@link StartRule} object */ const startRule: <R extends number = number>(id: R) => StartRule<R>; /** * Creates a {@link CustomMove} object */ const customMove: <Type extends number = number>(type: Type, data?: any) => CustomMove; /** * Creates a {@link EndGame} object */ const endGame: () => EndGame; /** * Creates a {@link DisplayHelp} object */ const displayHelp: <P extends number = number, M extends number = number, L extends number = number>(helpDisplay?: HelpDisplay<P, M, L>) => DisplayHelp<P, M, L>; /** * Creates a {@link DisplayHelp} object holding a {@link MaterialHelpDisplay} */ const displayMaterialHelp: <P extends number = number, M extends number = number, L extends number = number>(itemType: M, item?: Partial<MaterialItem<P, L>>, itemIndex?: number, displayIndex?: number) => DisplayHelp<P, M, L>; /** * Creates a {@link DisplayHelp} object holding a {@link LocationHelpDisplay} */ const displayLocationHelp: <P extends number = number, M extends number = number, L extends number = number>(location: Location<P, L>) => DisplayHelp<P, M, L>; /** * Creates a {@link DisplayHelp} object holding a {@link RulesHelpDisplay} */ const displayRulesHelp: <P extends number = number, M extends number = number, L extends number = number, RuleId extends number = number>(ruleId: RuleId) => DisplayHelp<P, M, L>; /** * Creates a {@link DropItem} object */ function dropItemMove<M extends number = number>(type: M, index: number, displayIndex: number): DropItem<M>; }