tsgammon-core
Version:
A Backgammon library for Typescript, formerly developed as a part of tsgammon-ui
22 lines • 1.92 kB
TypeScript
import { EOGStatus } from '../EOGStatus';
import { SGResult } from '../records/SGResult';
import { CubeGameListener } from './CubeGameListener';
import { CBAction, CBInPlay, CBOpening, CBResponse, CBState, CBToRoll } from './CubeGameState';
/**
* キューブの状態のみを管理するDispatcher
*/
export declare type CubeGameDispatcher = {
doStartCubeGame: () => (listener: Partial<Pick<CubeGameListener, 'onCubeGameStarted'>>) => void;
doDouble: (state: CBAction) => (listeners: Partial<Pick<CubeGameListener, 'onDoubled'>>) => void;
doTake: (state: CBResponse) => (listeners: Partial<Pick<CubeGameListener, 'onDoubleAccepted'>>) => void;
doPass: (state: CBResponse) => (listeners: Partial<Pick<CubeGameListener, 'onEndOfCubeGame'>>) => void;
doStartCubeAction: (state: CBInPlay, skipCubeAction: (cbState: CBInPlay) => boolean) => (listeners: Partial<Pick<CubeGameListener, 'onCubeActionStarted' | 'onCubeActionSkipped' | 'onAwaitCubeAction'>>) => void;
doSkipCubeAction: (state: CBAction) => (listeners: Partial<Pick<CubeGameListener, 'onCubeActionSkipped'>>) => void;
doStartOpeningCheckerPlay: (state: CBOpening, isRed: boolean) => (listeners: Partial<Pick<CubeGameListener, 'onAwaitCheckerPlay'>>) => void;
doStartCheckerPlay: (state: CBAction | CBToRoll) => (listeners: Partial<Pick<CubeGameListener, 'onAwaitCheckerPlay'>>) => void;
doEndOfCubeGame: (state: CBState, result: SGResult, eogStatus: EOGStatus) => (listeners: Partial<Pick<CubeGameListener, 'onEndOfCubeGame'>>) => void;
};
export declare function concatCBListeners(base: Partial<CubeGameListener>, ...listeners: Partial<CubeGameListener>[]): Partial<CubeGameListener>;
export declare function setCBStateListener(defaultState: CBState, setCBState: (cbState: CBState) => void): CubeGameListener;
export declare const cubeGameDispatcher: CubeGameDispatcher;
//# sourceMappingURL=CubeGameDispatcher.d.ts.map