modaq
Version:
Quiz Bowl Reader using TypeScript, React, and MobX
44 lines (43 loc) • 1.78 kB
TypeScript
import { PacketState, Bonus, Tossup } from "./PacketState";
import { IPlayer, Player } from "./TeamState";
import { Cycle } from "./Cycle";
import { ITossupAnswerEvent } from "./Events";
import { IGameFormat } from "./IGameFormat";
export declare class GameState {
packet: PacketState;
players: Player[];
cycles: Cycle[];
gameFormat: IGameFormat;
hasUpdates: boolean;
lastUpdate: Date | undefined;
constructor();
get isLoaded(): boolean;
get teamNames(): string[];
get finalScore(): number[];
get playableCycles(): Cycle[];
get scores(): number[][];
get protestsMatter(): boolean;
private get protestSwings();
private static updateTeamNameIfNeeded;
addInactivePlayer(player: Player, cycleIndex: number): void;
addNewPlayer(player: Player): void;
addNewPlayers(players: Player[]): void;
clear(): void;
getActivePlayers(teamName: string, cycleIndex: number): Set<Player>;
getPlayers(teamName: string): Player[];
getBonus(cycleIndex: number): Bonus | undefined;
getBonusIndex(cycleIndex: number): number;
getBuzzValue(buzz: ITossupAnswerEvent): number;
getTossup(cycleIndex: number): Tossup | undefined;
getTossupIndex(cycleIndex: number): number;
loadPacket(packet: PacketState): void;
markUpdateNeeded(): void;
markUpdateComplete(): void;
removeNewPlayer(player: IPlayer): void;
setCycles(cycles: Cycle[]): void;
setGameFormat(gameFormat: IGameFormat): void;
setPlayers(players: Player[]): void;
tryUpdatePlayerName(playerTeam: string, oldPlayerName: string, newPlayerName: string): boolean;
tryUpdateTeamName(oldTeamName: string, newTeamName: string): boolean;
private getScoreChangeFromCycle;
}