UNPKG

@runox-game/game-engine

Version:
49 lines (48 loc) 2.37 kB
import { IGameState } from './models/game-state.model'; import { IPlayer } from './models/player.model'; import { GameEvent } from './events/game-event.enum'; import { ICard } from './models/card.model'; import { GameModes } from './models/game-modes'; import { Observable } from 'rxjs'; import { ILog } from './log/log.factory'; import { LogLevel } from './log/log-levels.enum'; export declare class GameEngine { private readonly state; private readonly commandService; private readonly gameEvents; constructor(); get events(): { afterGameStart: Observable<void>; afterPlayCard: Observable<import("./events/after-play-card.event").AfterPlayCardEvent>; afterTakeCards: Observable<import("./events/after-take-cards.event").AfterTakeCardsEvent>; afterYellUno: Observable<import("./events/after-yell-uno.event").AfterYellUnoEvent>; beforeTurn: Observable<import("./events/before-turn.event").BeforeTurnEvent>; gameEnd: Observable<import("./events/game-end.event").GameEndEvent>; changeColor: Observable<import("./events/color-change.event").ChangeColorEvent>; skip: Observable<import("./events/skip.event").SkipEvent>; reverse: Observable<import("./events/reverse.event").ReverseEvent>; error: Observable<any>; specialCard: Observable<ICard>; stateChanged: Observable<IGameState>; }; get players(): IPlayer[]; get playerTurn(): IPlayer | undefined; get stackCard(): ICard | undefined; get modes(): GameModes; get gameStateAsJSON(): IGameState; start(gameModes?: GameModes): Observable<void>; reset(gameModes?: GameModes): Observable<void>; join(players: IPlayer[]): Observable<void>; remove(player: IPlayer): Observable<void>; playCard(playerId: string, card: ICard, toPlayerId?: string): Observable<void>; takeCard(): Observable<void>; takeCardToRandomPlayer(): Observable<void>; uno(yellerId?: string): Observable<void>; switchHands(player1: IPlayer, player2: IPlayer): Observable<void>; overrideInternalState(externalState: any): void; logs(level?: LogLevel): Observable<ILog>; onSpecialCardPlayed(): Observable<ICard>; onCardPlayed(): Observable<ICard>; onStateChanged(): Observable<IGameState>; private handleError; }