UNPKG

@runox-game/game-engine

Version:
150 lines (149 loc) 4.83 kB
import { AfterPlayCardEvent } from './after-play-card.event'; import { AfterTakeCardsEvent } from './after-take-cards.event'; import { BeforeTurnEvent } from './before-turn.event'; import { GameEndEvent } from './game-end.event'; import { AfterYellUnoEvent } from './after-yell-uno.event'; import { ChangeColorEvent } from './color-change.event'; import { SkipEvent } from './skip.event'; import { ReverseEvent } from './reverse.event'; import { ICard } from '../models/card.model'; import { IGameState } from '../models/game-state.model'; /** * Game event utility class */ export declare class GameEvents { private static instance; private readonly events; private constructor(); /** * Get instance of game event utility class */ static getInstance(): GameEvents; /** * Observable that emits values when the game starts */ get afterGameStart$(): import("rxjs").Observable<void>; /** * Observable that emits values after a card is played */ get afterPlayCard$(): import("rxjs").Observable<AfterPlayCardEvent>; /** * Observable that emits values after a card is taken */ get afterTakeCards$(): import("rxjs").Observable<AfterTakeCardsEvent>; /** * Observable that emits values after Uno is yelled */ get afterYellUno$(): import("rxjs").Observable<AfterYellUnoEvent>; /** * Observable that emits values before a turn begins */ get beforeTurn$(): import("rxjs").Observable<BeforeTurnEvent>; /** * Observable that emits values when the game ends */ get gameEnd$(): import("rxjs").Observable<GameEndEvent>; /** * Observable that emits values when the color of card has changed */ get changeColor$(): import("rxjs").Observable<ChangeColorEvent>; /** * Observable that emits values when the color of card has changed */ get skip$(): import("rxjs").Observable<SkipEvent>; /** * Observable that emits values when the color of card has changed */ get reverse$(): import("rxjs").Observable<ReverseEvent>; /** * Observable that emits values when an error occurred */ get error$(): import("rxjs").Observable<any>; /** * Observable that emits values when a special card has dropped */ get specialCard$(): import("rxjs").Observable<ICard>; /** * Observable that emits values when a common card has dropped */ get cardplayed$(): import("rxjs").Observable<ICard>; /** * Observable that emits values when a common card has dropped */ get stateChanged$(): import("rxjs").Observable<IGameState>; /** * Emits value in the observable at the beginning of the game */ dispatchAfterGameStart(): void; /** * Emits value after a card is played * * @param data contains player information and played card */ dispatchAfterPlayCard(data: AfterPlayCardEvent): void; /** * Emits value after a card is taken from the deck * * @param data contains player information and taken cards */ dispatchAfterTakeCards(data: AfterTakeCardsEvent): void; /** * Emits value after a player yells Uno * * @param data contains yeller information */ dispatchAfterYellUno(data: AfterYellUnoEvent): void; /** * Emits value before a turn begins * * @param data contains player information */ dispatchBeforeTurn(data: BeforeTurnEvent): void; /** * Emits value when there is a winner * * @param data contains winner information and winner score */ dispatchGameEnd(data: GameEndEvent): void; /** * Emits value when the color of card has changed * * @param data contains new color */ dispatchChangeColor(data: ChangeColorEvent): void; /** * Emits value when the next player has skiped * * @param data contains next user */ dispatchSkip(data: SkipEvent): void; /** * Emits value the direction is changed by revert card * * @param data contains new color */ dispatchReverse(data: ReverseEvent): void; /** * Emits error * * @param error */ dispatchError(error: any): any; /** * Emits card when was played a special card * * @param card special card */ dispatchSpecialCard(card: ICard): any; /** * Emits card when a card was played (not specials cards) * * @param card */ dispatchCardPlayed(card: ICard): any; /** * Emits state when it was changed * @param state GameState */ dispatchStateChanged(state: IGameState): void; }