From 0810c0847c4d197f7544ae62488a1e26b57bf891 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 9 Sep 2023 18:35:39 +0800 Subject: [PATCH] 1 --- server/hallserver/common/types.go | 1 + server/hallserver/room/room.go | 26 +++++++++++++++++++++++++- server/hallserver/room/roommgr.go | 9 ++++++++- 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/server/hallserver/common/types.go b/server/hallserver/common/types.go index 80e8e835..4db776ab 100644 --- a/server/hallserver/common/types.go +++ b/server/hallserver/common/types.go @@ -20,6 +20,7 @@ type RoomMgr interface { type Player interface { GetRoom() Room + SendMsg(rspMsg proto.Message) } type PlayerMgr interface { diff --git a/server/hallserver/room/room.go b/server/hallserver/room/room.go index 35493564..8f1f31f3 100644 --- a/server/hallserver/room/room.go +++ b/server/hallserver/room/room.go @@ -12,29 +12,53 @@ type room struct { } func (this *room) OnPlayerOffline(hum common.Player) { - } func (this *room) CMRoomList(hdr *f5.MsgHdr, msg *cs.CMRoomList) { + hum := hdr.Context.(common.Player) + rspMsg := cs.SMRoomList{} + hum.SendMsg(&rspMsg) } func (this *room) CMJoinRoom(hdr *f5.MsgHdr, msg *cs.CMJoinRoom) { + hum := hdr.Context.(common.Player) + rspMsg := cs.SMJoinRoom{} + hum.SendMsg(&rspMsg) } func (this *room) CMDisbandRoom(hdr *f5.MsgHdr, msg *cs.CMDisbandRoom) { + hum := hdr.Context.(common.Player) + rspMsg := cs.SMDisbandRoom{} + hum.SendMsg(&rspMsg) } func (this *room) CMLeaveRoom(hdr *f5.MsgHdr, msg *cs.CMLeaveRoom) { + hum := hdr.Context.(common.Player) + rspMsg := cs.SMLeaveRoom{} + hum.SendMsg(&rspMsg) } func (this *room) CMModifyRoom(hdr *f5.MsgHdr, msg *cs.CMModifyRoom) { + hum := hdr.Context.(common.Player) + rspMsg := cs.SMModifyRoom{} + hum.SendMsg(&rspMsg) } func (this *room) CMStartGame(hdr *f5.MsgHdr, msg *cs.CMStartGame) { + hum := hdr.Context.(common.Player) + rspMsg := cs.SMStartGame{} + hum.SendMsg(&rspMsg) } func (this *room) CMSetPrepare(hdr *f5.MsgHdr, msg *cs.CMSetPrepare) { + /*hum := hdr.Context.(common.Player) + rspMsg := cs.SMSetPrepare{} + hum.SendMsg(&rspMsg)*/ } func (this *room) CMKickout(hdr *f5.MsgHdr, msg *cs.CMKickout) { + /* + hum := hdr.Context.(common.Player) + rspMsg := cs.SMkickout{} + hum.SendMsg(&rspMsg)*/ } diff --git a/server/hallserver/room/roommgr.go b/server/hallserver/room/roommgr.go index a0afb5d2..7771196a 100644 --- a/server/hallserver/room/roommgr.go +++ b/server/hallserver/room/roommgr.go @@ -4,6 +4,7 @@ import ( "cs" "f5" "main/constant" + "main/common" . "main/global" ) @@ -24,7 +25,10 @@ func (this *roomMgr) UnInit() { func (this *roomMgr) ProcessCMMsg(handler *cs.CsNetMsgHandler, hdr *f5.MsgHdr) { switch handler.HandlerId { case constant.ROOM_MGR_HANDLER_ID: - cs.DispatchMsg(handler, hdr, this) + hum := GetPlayerMgr().GetPlayerBySocket(hdr.GetSocket()) + if hum != nil { + cs.DispatchMsg(handler, hdr, this) + } case constant.ROOM_HANDLER_ID: hum := GetPlayerMgr().GetPlayerBySocket(hdr.GetSocket()) if hum != nil && hum.GetRoom() != nil { @@ -35,4 +39,7 @@ func (this *roomMgr) ProcessCMMsg(handler *cs.CsNetMsgHandler, hdr *f5.MsgHdr) { } func (this *roomMgr) CMCreateRoom(hdr *f5.MsgHdr, msg *cs.CMCreateRoom) { + hum := hdr.Context.(common.Player) + rspMsg := cs.SMCreateRoom{} + hum.SendMsg(&rspMsg) }