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_MGR_HANDLER_ID:
|
||||||
case constant.PLAYER_HANDLER_ID:
|
case constant.PLAYER_HANDLER_ID:
|
||||||
GetPlayerMgr().ProcessCMMsg(handler, hdr)
|
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 {
|
type RoomMgr interface {
|
||||||
|
ProcessCMMsg(*cs.CsNetMsgHandler, *f5.MsgHdr)
|
||||||
}
|
}
|
||||||
|
|
||||||
type Player interface {
|
type Player interface {
|
||||||
@ -23,6 +23,8 @@ type Player interface {
|
|||||||
|
|
||||||
type PlayerMgr interface {
|
type PlayerMgr interface {
|
||||||
ProcessCMMsg(*cs.CsNetMsgHandler, *f5.MsgHdr)
|
ProcessCMMsg(*cs.CsNetMsgHandler, *f5.MsgHdr)
|
||||||
|
GetPlayerBySocket(f5.WspCliConn) Player
|
||||||
|
GetPlayerByAccountId(string) Player
|
||||||
}
|
}
|
||||||
|
|
||||||
type WspListener interface {
|
type WspListener interface {
|
||||||
|
@ -3,6 +3,8 @@ package constant
|
|||||||
const (
|
const (
|
||||||
PLAYER_MGR_HANDLER_ID = iota
|
PLAYER_MGR_HANDLER_ID = iota
|
||||||
PLAYER_HANDLER_ID
|
PLAYER_HANDLER_ID
|
||||||
|
ROOM_HANDLER_ID
|
||||||
|
ROOM_MGR_HANDLER_ID
|
||||||
WSP_LISTENER_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__CMLogin), constant.PLAYER_MGR_HANDLER_ID)
|
||||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMReconnect), 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__CMCreateRoom), constant.ROOM_MGR_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__CMRoomList), constant.ROOM_HANDLER_ID)
|
||||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMDisbandRoom), constant.PLAYER_HANDLER_ID)
|
cs.RegHandlerId(int(cs.CMMessageIdE__CMJoinRoom), constant.ROOM_HANDLER_ID)
|
||||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMLeaveRoom), constant.PLAYER_HANDLER_ID)
|
cs.RegHandlerId(int(cs.CMMessageIdE__CMDisbandRoom), constant.ROOM_HANDLER_ID)
|
||||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMModifyRoom), constant.PLAYER_HANDLER_ID)
|
cs.RegHandlerId(int(cs.CMMessageIdE__CMLeaveRoom), constant.ROOM_HANDLER_ID)
|
||||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMStartGame), constant.PLAYER_HANDLER_ID)
|
cs.RegHandlerId(int(cs.CMMessageIdE__CMModifyRoom), constant.ROOM_HANDLER_ID)
|
||||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMSetPrepare), constant.PLAYER_HANDLER_ID)
|
cs.RegHandlerId(int(cs.CMMessageIdE__CMStartGame), constant.ROOM_HANDLER_ID)
|
||||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMKickout), constant.PLAYER_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() {
|
func (this *HandlerMgr) UnInit() {
|
||||||
|
@ -9,6 +9,7 @@ import (
|
|||||||
"mt"
|
"mt"
|
||||||
"q5"
|
"q5"
|
||||||
"main/constant"
|
"main/constant"
|
||||||
|
"main/common"
|
||||||
"github.com/golang/protobuf/proto"
|
"github.com/golang/protobuf/proto"
|
||||||
. "main/global"
|
. "main/global"
|
||||||
)
|
)
|
||||||
@ -51,7 +52,7 @@ func (this *playerMgr) UnInit() {
|
|||||||
|
|
||||||
func (this *playerMgr) CMLogin(hdr *f5.MsgHdr, msg *cs.CMLogin) {
|
func (this *playerMgr) CMLogin(hdr *f5.MsgHdr, msg *cs.CMLogin) {
|
||||||
{
|
{
|
||||||
oldplayer := this.getPlayerBySocket(hdr.GetSocket())
|
oldplayer := this.internalGetPlayerBySocket(hdr.GetSocket())
|
||||||
if oldplayer != nil {
|
if oldplayer != nil {
|
||||||
rspMsg := cs.SMLogin{}
|
rspMsg := cs.SMLogin{}
|
||||||
rspMsg.Errcode = proto.Int32(0)
|
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 {
|
if oldplayer != nil {
|
||||||
rspMsg := cs.SMLogin{}
|
rspMsg := cs.SMLogin{}
|
||||||
rspMsg.Errcode = proto.Int32(0)
|
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]
|
player, ok := this.accountIdHash[accountId]
|
||||||
if ok {
|
if ok {
|
||||||
return player
|
return player
|
||||||
@ -187,7 +192,11 @@ func (this *playerMgr) getPlayerByAccountId(accountId string) *player {
|
|||||||
return nil
|
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]
|
player, ok := this.socketHash[socket]
|
||||||
if ok {
|
if ok {
|
||||||
return player
|
return player
|
||||||
@ -200,7 +209,7 @@ func (this* playerMgr) ProcessCMMsg(handler *cs.CsNetMsgHandler, hdr *f5.MsgHdr)
|
|||||||
case constant.PLAYER_MGR_HANDLER_ID:
|
case constant.PLAYER_MGR_HANDLER_ID:
|
||||||
cs.DispatchMsg(handler, hdr, this)
|
cs.DispatchMsg(handler, hdr, this)
|
||||||
case constant.PLAYER_HANDLER_ID:
|
case constant.PLAYER_HANDLER_ID:
|
||||||
player := this.getPlayerBySocket(hdr.GetSocket())
|
player := this.internalGetPlayerBySocket(hdr.GetSocket())
|
||||||
if player != nil {
|
if player != nil {
|
||||||
cs.DispatchMsg(handler, hdr, player)
|
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) {
|
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 {
|
if hum == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -193,13 +193,14 @@ message SMCreateRoom
|
|||||||
//获取房间列表
|
//获取房间列表
|
||||||
message CMRoomList
|
message CMRoomList
|
||||||
{
|
{
|
||||||
optional int32 page = 1; //
|
optional int32 page = 1; //第几页
|
||||||
|
optional int32 room_id = 2; //房间id
|
||||||
}
|
}
|
||||||
|
|
||||||
message SMRoomList
|
message SMRoomList
|
||||||
{
|
{
|
||||||
optional MFPagination Pagination = 1; //分页信息
|
optional MFPagination Pagination = 1; //分页信息
|
||||||
repeated MFRoom rows = 2; //
|
repeated MFRoom rows = 2; //数据
|
||||||
}
|
}
|
||||||
|
|
||||||
//加入房间
|
//加入房间
|
||||||
|
@ -2,6 +2,9 @@ package room
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"cs"
|
"cs"
|
||||||
|
"f5"
|
||||||
|
"main/constant"
|
||||||
|
. "main/global"
|
||||||
)
|
)
|
||||||
|
|
||||||
type roomMgr struct {
|
type roomMgr struct {
|
||||||
@ -17,3 +20,14 @@ func (this *roomMgr) Init() {
|
|||||||
|
|
||||||
func (this *roomMgr) UnInit() {
|
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