1
This commit is contained in:
parent
7f802a1e75
commit
68da51ce1a
@ -293,7 +293,7 @@ func (this *room) fillMFCurrentRoom(hum common.Player, pb *cs.MFCurrentRoom) {
|
|||||||
q5.AppendSlice(&pb.TeamList, pbT)
|
q5.AppendSlice(&pb.TeamList, pbT)
|
||||||
}
|
}
|
||||||
sort.Slice(pb.TeamList, func(i, j int) bool {
|
sort.Slice(pb.TeamList, func(i, j int) bool {
|
||||||
return *pb.TeamList[i].SortIdx < *pb.TeamList[j].SortIdx
|
return pb.TeamList[i].GetSortIdx() < pb.TeamList[j].GetSortIdx()
|
||||||
})
|
})
|
||||||
for _, t := range this.obTeamUuidHash {
|
for _, t := range this.obTeamUuidHash {
|
||||||
pbT := &cs.MFTeam{}
|
pbT := &cs.MFTeam{}
|
||||||
@ -302,7 +302,7 @@ func (this *room) fillMFCurrentRoom(hum common.Player, pb *cs.MFCurrentRoom) {
|
|||||||
q5.AppendSlice(&pb.TeamList, pbT)
|
q5.AppendSlice(&pb.TeamList, pbT)
|
||||||
}
|
}
|
||||||
sort.Slice(pb.ObserverTeamList, func(i, j int) bool {
|
sort.Slice(pb.ObserverTeamList, func(i, j int) bool {
|
||||||
return *pb.ObserverTeamList[i].SortIdx < *pb.ObserverTeamList[j].SortIdx
|
return pb.ObserverTeamList[i].GetSortIdx() < pb.ObserverTeamList[j].GetSortIdx()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -264,4 +264,52 @@ func (this *roomMgr) CMLeaveObserver(hdr *f5.MsgHdr, msg *cs.CMLeaveObserver) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *roomMgr) CMSwitchTeam(hdr *f5.MsgHdr, msg *cs.CMSwitchTeam) {
|
func (this *roomMgr) CMSwitchTeam(hdr *f5.MsgHdr, msg *cs.CMSwitchTeam) {
|
||||||
|
hum := hdr.Context.(common.Player)
|
||||||
|
rspMsg := cs.SMSwitchTeam{}
|
||||||
|
|
||||||
|
roomPtr, ok := hum.GetRoom().(*room)
|
||||||
|
if !ok || roomPtr == nil {
|
||||||
|
rspMsg.Errcode = proto.Int32(1)
|
||||||
|
rspMsg.Errmsg = proto.String("room is empty")
|
||||||
|
hum.SendMsg(&rspMsg)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if !roomPtr.isOwner(hum) {
|
||||||
|
rspMsg.Errcode = proto.Int32(1)
|
||||||
|
rspMsg.Errmsg = proto.String("is not room owner")
|
||||||
|
hum.SendMsg(&rspMsg)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if msg.GetType() == 0 {
|
||||||
|
t := roomPtr.getObTeamById(msg.GetTeamId())
|
||||||
|
if t == nil {
|
||||||
|
rspMsg.Errcode = proto.Int32(1)
|
||||||
|
rspMsg.Errmsg = proto.String("team_id error")
|
||||||
|
hum.SendMsg(&rspMsg)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if roomPtr.isTeamFull() {
|
||||||
|
rspMsg.Errcode = proto.Int32(3)
|
||||||
|
rspMsg.Errmsg = proto.String("room team is full")
|
||||||
|
hum.SendMsg(&rspMsg)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
roomPtr.removeObTeam(t)
|
||||||
|
roomPtr.addTeam(t)
|
||||||
|
} else {
|
||||||
|
t := roomPtr.getTeamById(msg.GetTeamId())
|
||||||
|
if t == nil {
|
||||||
|
rspMsg.Errcode = proto.Int32(1)
|
||||||
|
rspMsg.Errmsg = proto.String("team_id error")
|
||||||
|
hum.SendMsg(&rspMsg)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
roomPtr.removeTeam(t)
|
||||||
|
roomPtr.addObTeam(t)
|
||||||
|
}
|
||||||
|
|
||||||
|
hum.SendMsg(&rspMsg)
|
||||||
|
roomPtr.notifyRoomInfo(hum)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user