nodito
Version:
Una librería para aprender juegos por turnos en node.
49 lines (48 loc) • 1.57 kB
TypeScript
import { IMsgFromServer } from "./from-server/IFromServer";
import { Game } from "./Game";
import { Player } from "./Player";
import { User } from "./User";
export declare class Room<TGamePlayer extends Player = Player> {
game: Game<Room>;
protected maxPlayers: number;
protected playerMaker: new () => Player;
protected id: string;
protected users: Array<User<TGamePlayer>>;
protected startDate: Date | null;
protected endDate: Date | null;
protected type: string;
constructor(game: Game<Room>, maxPlayers: number, playerMaker: new () => Player, id?: string);
getId(): string;
add(u: User<TGamePlayer>): false | undefined;
count(): number;
find(u: User): User | undefined;
findById(id: string): User | undefined;
remove(u: User): void;
empty(): boolean;
isReady(): boolean;
isPlaying(): boolean;
start(): void;
finish(): void;
isFinished(): boolean;
toClient(): {
count: number;
id: string;
isPlaying: boolean;
owner: {
id: string;
name: string;
playing: boolean | null;
turn: {} | null;
} | null;
total: number;
type: string;
};
each(fn: (p: User) => void): void;
getPlayers(): Array<User<TGamePlayer>>;
getGamePlayers(): TGamePlayer[];
sendStatusToAll(): void;
filterPlayer(fn: (x: User) => boolean): User<TGamePlayer>[];
protected owner(): User<TGamePlayer>;
protected sendAll(msg: IMsgFromServer): void;
protected getType(): string;
}