From f047046215a2162d7f3a484c09c1f51ce3714f81 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 14 Sep 2023 15:11:05 +0800 Subject: [PATCH] 1 --- server/hallserver/room/room.go | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/server/hallserver/room/room.go b/server/hallserver/room/room.go index 96a223a5..c0e62a26 100644 --- a/server/hallserver/room/room.go +++ b/server/hallserver/room/room.go @@ -167,12 +167,15 @@ func (this *room) CMLeaveRoom(hdr *f5.MsgHdr, msg *cs.CMLeaveRoom) { m := this.getMember(hum.GetAccountId()) if m != nil && this.roomState == ROOM_INIT_STATE { if this.isOwner(hum) { - if len(this.teamUuidHash) < 2 { + nextOwner := this.getNextOwner() + if nextOwner == nil { this.doDisband(1) - return } else { - + this.removeMember(this.owner.hum.GetAccountId()) + this.owner = nextOwner } + } else { + this.removeMember(this.owner.hum.GetAccountId()) } notifyMsg := &cs.SMRoomLeaveNotify{} this.broadcastMsg(notifyMsg) @@ -385,3 +388,10 @@ func (this *room) genTeamId() int32 { } return teamId } + +func (this *room) removeMember(accountId string) { + m := this.getMember(accountId) + if m != nil { + delete(this.members, accountId) + } +}