1
This commit is contained in:
parent
1a6699c6f8
commit
f948ec0697
@ -62,6 +62,9 @@ func (this *app) Update() {
|
||||
case constant.PLAYER_MGR_HANDLER_ID:
|
||||
case constant.PLAYER_HANDLER_ID:
|
||||
GetPlayerMgr().ProcessCMMsg(handler, hdr)
|
||||
case constant.ROOM_HANDLER_ID:
|
||||
case constant.ROOM_MGR_HANDLER_ID:
|
||||
GetRoomMgr().ProcessCMMsg(handler, hdr)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ type Room interface {
|
||||
}
|
||||
|
||||
type RoomMgr interface {
|
||||
|
||||
ProcessCMMsg(*cs.CsNetMsgHandler, *f5.MsgHdr)
|
||||
}
|
||||
|
||||
type Player interface {
|
||||
@ -23,6 +23,8 @@ type Player interface {
|
||||
|
||||
type PlayerMgr interface {
|
||||
ProcessCMMsg(*cs.CsNetMsgHandler, *f5.MsgHdr)
|
||||
GetPlayerBySocket(f5.WspCliConn) Player
|
||||
GetPlayerByAccountId(string) Player
|
||||
}
|
||||
|
||||
type WspListener interface {
|
||||
|
@ -3,6 +3,8 @@ package constant
|
||||
const (
|
||||
PLAYER_MGR_HANDLER_ID = iota
|
||||
PLAYER_HANDLER_ID
|
||||
ROOM_HANDLER_ID
|
||||
ROOM_MGR_HANDLER_ID
|
||||
WSP_LISTENER_HANDLER_ID
|
||||
)
|
||||
|
||||
|
@ -18,15 +18,16 @@ func (this *HandlerMgr) Init() {
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMLogin), constant.PLAYER_MGR_HANDLER_ID)
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMReconnect), constant.PLAYER_MGR_HANDLER_ID)
|
||||
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMCreateRoom), constant.PLAYER_HANDLER_ID)
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMRoomList), constant.PLAYER_HANDLER_ID)
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMJoinRoom), constant.PLAYER_HANDLER_ID)
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMDisbandRoom), constant.PLAYER_HANDLER_ID)
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMLeaveRoom), constant.PLAYER_HANDLER_ID)
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMModifyRoom), constant.PLAYER_HANDLER_ID)
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMStartGame), constant.PLAYER_HANDLER_ID)
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMSetPrepare), constant.PLAYER_HANDLER_ID)
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMKickout), constant.PLAYER_HANDLER_ID)
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMCreateRoom), constant.ROOM_MGR_HANDLER_ID)
|
||||
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMRoomList), constant.ROOM_HANDLER_ID)
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMJoinRoom), constant.ROOM_HANDLER_ID)
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMDisbandRoom), constant.ROOM_HANDLER_ID)
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMLeaveRoom), constant.ROOM_HANDLER_ID)
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMModifyRoom), constant.ROOM_HANDLER_ID)
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMStartGame), constant.ROOM_HANDLER_ID)
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMSetPrepare), constant.ROOM_HANDLER_ID)
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMKickout), constant.ROOM_HANDLER_ID)
|
||||
}
|
||||
|
||||
func (this *HandlerMgr) UnInit() {
|
||||
|
@ -9,6 +9,7 @@ import (
|
||||
"mt"
|
||||
"q5"
|
||||
"main/constant"
|
||||
"main/common"
|
||||
"github.com/golang/protobuf/proto"
|
||||
. "main/global"
|
||||
)
|
||||
@ -51,7 +52,7 @@ func (this *playerMgr) UnInit() {
|
||||
|
||||
func (this *playerMgr) CMLogin(hdr *f5.MsgHdr, msg *cs.CMLogin) {
|
||||
{
|
||||
oldplayer := this.getPlayerBySocket(hdr.GetSocket())
|
||||
oldplayer := this.internalGetPlayerBySocket(hdr.GetSocket())
|
||||
if oldplayer != nil {
|
||||
rspMsg := cs.SMLogin{}
|
||||
rspMsg.Errcode = proto.Int32(0)
|
||||
@ -61,7 +62,7 @@ func (this *playerMgr) CMLogin(hdr *f5.MsgHdr, msg *cs.CMLogin) {
|
||||
}
|
||||
}
|
||||
{
|
||||
oldplayer := this.getPlayerByAccountId(msg.GetAccountId())
|
||||
oldplayer := this.internalGetPlayerByAccountId(msg.GetAccountId())
|
||||
if oldplayer != nil {
|
||||
rspMsg := cs.SMLogin{}
|
||||
rspMsg.Errcode = proto.Int32(0)
|
||||
@ -179,7 +180,11 @@ func (this *playerMgr) reportServerState(masterIp string, masterPort int32) {
|
||||
})
|
||||
}
|
||||
|
||||
func (this *playerMgr) getPlayerByAccountId(accountId string) *player {
|
||||
func (this *playerMgr) GetPlayerByAccountId(accountId string) common.Player {
|
||||
return this.internalGetPlayerByAccountId(accountId)
|
||||
}
|
||||
|
||||
func (this *playerMgr) internalGetPlayerByAccountId(accountId string) *player {
|
||||
player, ok := this.accountIdHash[accountId]
|
||||
if ok {
|
||||
return player
|
||||
@ -187,7 +192,11 @@ func (this *playerMgr) getPlayerByAccountId(accountId string) *player {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (this *playerMgr) getPlayerBySocket(socket f5.WspCliConn) *player {
|
||||
func (this *playerMgr) GetPlayerBySocket(socket f5.WspCliConn) common.Player {
|
||||
return this.internalGetPlayerBySocket(socket)
|
||||
}
|
||||
|
||||
func (this *playerMgr) internalGetPlayerBySocket(socket f5.WspCliConn) *player {
|
||||
player, ok := this.socketHash[socket]
|
||||
if ok {
|
||||
return player
|
||||
@ -200,7 +209,7 @@ func (this* playerMgr) ProcessCMMsg(handler *cs.CsNetMsgHandler, hdr *f5.MsgHdr)
|
||||
case constant.PLAYER_MGR_HANDLER_ID:
|
||||
cs.DispatchMsg(handler, hdr, this)
|
||||
case constant.PLAYER_HANDLER_ID:
|
||||
player := this.getPlayerBySocket(hdr.GetSocket())
|
||||
player := this.internalGetPlayerBySocket(hdr.GetSocket())
|
||||
if player != nil {
|
||||
cs.DispatchMsg(handler, hdr, player)
|
||||
}
|
||||
@ -222,7 +231,7 @@ func (this *playerMgr) genSeqId() *int64 {
|
||||
}
|
||||
|
||||
func (this *playerMgr) SS_WSP_SocketDisconnect(hdr *f5.MsgHdr, msg *ss.SS_WSP_SocketDisconnect) {
|
||||
hum := this.getPlayerBySocket(hdr.GetSocket())
|
||||
hum := this.internalGetPlayerBySocket(hdr.GetSocket())
|
||||
if hum == nil {
|
||||
return
|
||||
}
|
||||
|
@ -193,13 +193,14 @@ message SMCreateRoom
|
||||
//获取房间列表
|
||||
message CMRoomList
|
||||
{
|
||||
optional int32 page = 1; //
|
||||
optional int32 page = 1; //第几页
|
||||
optional int32 room_id = 2; //房间id
|
||||
}
|
||||
|
||||
message SMRoomList
|
||||
{
|
||||
optional MFPagination Pagination = 1; //分页信息
|
||||
repeated MFRoom rows = 2; //
|
||||
repeated MFRoom rows = 2; //数据
|
||||
}
|
||||
|
||||
//加入房间
|
||||
|
@ -2,6 +2,9 @@ package room
|
||||
|
||||
import (
|
||||
"cs"
|
||||
"f5"
|
||||
"main/constant"
|
||||
. "main/global"
|
||||
)
|
||||
|
||||
type roomMgr struct {
|
||||
@ -17,3 +20,14 @@ func (this *roomMgr) Init() {
|
||||
|
||||
func (this *roomMgr) UnInit() {
|
||||
}
|
||||
|
||||
func (this *roomMgr) ProcessCMMsg(handler *cs.CsNetMsgHandler, hdr *f5.MsgHdr) {
|
||||
switch handler.HandlerId {
|
||||
case constant.PLAYER_MGR_HANDLER_ID:
|
||||
cs.DispatchMsg(handler, hdr, this)
|
||||
case constant.PLAYER_HANDLER_ID:
|
||||
player := GetPlayerMgr().GetPlayerBySocket(hdr.GetSocket())
|
||||
if player != nil {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user