package parkour import ( "fmt" "go_dreamfactory/comm" "go_dreamfactory/pb" ) //参数校验 func (this *apiComp) ReconnectRoomCheck(session comm.IUserSession, req *pb.ParkourReconnectRoomReq) (errdata *pb.ErrorData) { return } ///匹配请求 func (this *apiComp) ReconnectRoom(session comm.IUserSession, req *pb.ParkourReconnectRoomReq) (errdata *pb.ErrorData) { var ( room *RaceItem race *pb.DBRace ok bool ) if errdata = this.ReconnectRoomCheck(session, req); errdata != nil { return } this.module.lock.RLock() room, ok = this.module.battles[req.Battleid] this.module.lock.RUnlock() if ok { room.lock.Lock() room.Session[session.GetUserId()] = session.Clone() room.lock.Unlock() race = &pb.DBRace{ Id: room.Id, ServicePath: fmt.Sprintf("%s/%s", this.service.GetType(), this.service.GetId()), Redmember: room.RedMember, Bulemember: room.BuleMember, } } session.SendMsg(string(this.module.GetType()), "reconnectroom", &pb.ParkourReconnectRoomResp{Race: race}) return }