@battle-racing/br-common-lib
Version:
Common library for all Battle Racing Repositorios
39 lines (38 loc) • 1.23 kB
TypeScript
import type { GameTrack } from '../gameTrack';
import type { PowerUp } from '../powerUp';
import type { GameStatus } from './GameStatus';
import type { GameType } from './GameType';
import type { KartRankingItem } from './KartRankingItem';
export declare enum GameFinishedReason {
/** The time set for the game was over */
TIME_IS_OVER = "TIME_IS_OVER",
/** There is a winner on the game */
GAME_KARTS_FINISHED = "GAME_KARTS_FINISHED",
/** The game was stopped by an emergency */
EMERGENCY = "EMERGENCY",
/** The Controller of the game finished the game */
BY_CONTROLLER = "BY_CONTROLLER"
}
export interface GameKartState {
coins: number;
}
export interface Game {
id: number;
status: GameStatus;
kartsGuids: string[];
powerUpsIds: PowerUp['id'][];
gameTrackId: GameTrack['id'];
type: GameType;
coins: number;
/** Time set in seconds */
time: number;
/** Speed % will be the default for the game */
speedConfig: number;
createdAt: Date;
startedAt?: Date;
finishedAt?: Date;
finishedReason?: GameFinishedReason;
/** The key is the kart guid */
kartsState: Record<string, GameKartState>;
gameRanking: KartRankingItem[];
}