nodito
Version:
Una librería para aprender juegos por turnos en node.
33 lines (32 loc) • 1.2 kB
TypeScript
import * as _ from "underscore";
import { IMsgFromClient } from "./from-client/ClientMessage";
import { ClientMessageFactory } from "./from-client/ClientMessageFactory";
import { Room } from "./Room";
import { RoomManager } from "./RoomManager";
import { User } from "./User";
import { UserManager } from "./UserManager";
export interface IGameOptions {
cleanInterval: number;
roomsInterval: number;
usersInterval: number;
checkPlayerOnlineInterval: number;
turnMaxTime: number;
}
export declare class Game<TRoom extends Room = Room> {
users: UserManager;
rooms: RoomManager;
private factory;
private secretToken;
options: IGameOptions;
throttledSendRooms: (() => void) & _.Cancelable;
throttledSendPlayers: (() => void) & _.Cancelable;
private roomsMessageInterval;
private playersMessageInterval;
private checkPlayerOnlineInterval;
constructor(users: UserManager, rooms: RoomManager, factory: ClientMessageFactory, secretToken: string, options?: IGameOptions);
findOrCreate(id: string): User;
infoOf(player: User): any;
signToken(id: string): string;
exec(message: IMsgFromClient): any;
checkPlayersTime(): void;
}