This commit is contained in:
aozhiwei 2023-09-16 11:49:42 +08:00
parent f7df50f3ab
commit bf985f9c81
3 changed files with 40 additions and 0 deletions

View File

@ -145,6 +145,27 @@ func (this *room) fillMFRoom(pb *cs.MFRoom) {
this.owner.fillMFMember(pb.Owner)
}
func (this *room) fillMFCurrentRoom(pb *cs.MFCurrentRoom) {
pb.RoomId = proto.String(this.roomId)
pb.MapId = proto.Int32(this.config.mapId)
pb.ZoneId = proto.Int32(this.config.zoneId)
if this.config.passwd != "" {
pb.HasPasswd = proto.Int32(1)
}
pb.PlayerNum = proto.Int32(int32(len(this.members)))
pb.PlayerMaxNum = proto.Int32(constant.ROOM_MAX_PLAYER_NUM)
pb.TeamNum = proto.Int32(int32(len(this.teamUuidHash)))
pb.TeamMaxNum = proto.Int32(constant.ROOM_MAX_TEAM_NUM)
pb.Owner = new(cs.MFMember)
this.owner.fillMFMember(pb.Owner)
q5.NewSlice(&pb.TeamList, 0, 10)
for _, t := range(this.teamUuidHash) {
pbT := &cs.MFTeam{}
t.fillMFTeam(pbT)
q5.AppendSlice(&pb.TeamList, pbT)
}
}
func (this *room) OnPlayerOffline(hum common.Player) {
}

View File

@ -139,7 +139,10 @@ func (this *roomMgr) CMGetCurrentRoom(hdr *f5.MsgHdr, msg *cs.CMGetCurrentRoom)
hum := hdr.Context.(common.Player)
rspMsg := &cs.SMGetCurrentRoom{}
if hum.GetRoom() != nil && hum.GetRoom().GetRoomState() == ROOM_INIT_STATE {
hum.SendMsg(rspMsg)
return
}
rspMsg.Room = new(cs.MFCurrentRoom)
hum.GetRoom().(*room).fillMFCurrentRoom(rspMsg.Room)
hum.SendMsg(rspMsg)
}

View File

@ -2,6 +2,8 @@ package room
import (
"q5"
"cs"
"github.com/golang/protobuf/proto"
)
type team struct {
@ -28,6 +30,20 @@ func (this *team) unInit() {
this.room = nil
}
func (this *team) fillMFTeam(pb *cs.MFTeam) {
pb.TeamId = proto.Int32(this.teamId)
pb.TeamUuid = proto.String(this.teamUuid)
q5.NewSlice(&pb.Members, 0, 4)
this.members.ForEach(
func (data interface{}) bool {
m := data.(*member)
pbM := &cs.MFMember{}
m.fillMFMember(pbM)
q5.AppendSlice(&pb.Members, pbM)
return true
})
}
func (this *team) addMember(m *member) {
m.team = this
this.members.AddTail(&m.teamEntry)