UNPKG

@petkoneo/phaser3-rex-plugins

Version:
81 lines (59 loc) 1.54 kB
import EventEmitter from '../../../utils/eventemitter/EventEmitter'; import Broadcast from '../broadcast/Broadcast'; import ItemTable from '../itemtable/ItemTable'; export default SingleRoom; declare namespace SingleRoom { interface ITableConfig { key: string, type?: ItemTable.TableType } interface IConfig { root?: string, maxUsers?: number, broadcast: boolean | { history?: number | boolean, }, tables?: undefined | ITableConfig[], userID?: string, userName?: string, eventEmitter?: EventEmitter | false, } interface IUserInfo { userID: string, userName: string } } declare class SingleRoom extends EventEmitter { constructor(config?: SingleRoom.IConfig); setUser( userID: string, userName?: string ): this; setUser( config: { userID: string, userName?: string } ): this; userID: string; userName: string; readonly userInfo: SingleRoom.IUserInfo; joinRoom( ): Promise<void>; leaveRoom( ): Promise<void>; kickUser( userID: string ): Promise<void>; getUsers( ): { userID?: string, userName?: string, }[]; isFirstUser( userID?: string ): boolean; isFull(): boolean; readonly maxUsers: number; isInRoom(): boolean; readonly broadcast: Broadcast; changeUserName( userName: string ): Promise<void>; getTable( key: string ): ItemTable; }