@runox-game/game-engine
Version:
RunoX game engine
150 lines (149 loc) • 4.83 kB
TypeScript
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;
}