import { CardSeat } from './CardSeat'; import { GFCfg } from 'cgserver'; import { GMongoCacheSer, MongoCacheModel } from 'cgserver'; export class SeatManager { protected _seats=new Map() addSeat(seat:CardSeat) { //机器人不同游戏不同房间都可以重复使用 if(!seat.isRobot) { let rig = {} rig.user_id = seat.id rig.table_id = seat.table.id let game = seat.table.server rig.server_name = game.name rig.game_host = GFCfg.internet_host rig.game_port = game.cfg.port rig.game_code = game.code let cm = new MongoCacheModel() cm.key=seat.id+"" cm.data=rig GMongoCacheSer.updateOne(cm,{key:cm.key}) } this._seats[seat.id] = seat return seat } getSeatByUserId(user_id):CardSeat { return this._seats[user_id] } removeSeat(user_id:number) { if(this._seats[user_id]) { this._seats[user_id] = null delete this._seats[user_id] GMongoCacheSer.deleteOne({key:user_id+""}) } } }