1
This commit is contained in:
parent
b2e537df9d
commit
d13053c24c
@ -120,6 +120,7 @@ type Player interface {
|
||||
type PlayerMgr interface {
|
||||
ProcessCMMsg(*cs.CsNetMsgHandler, *f5.MsgHdr)
|
||||
GetPlayerBySocket(f5.WspCliConn) Player
|
||||
OnSocketClose(f5.WspCliConn)
|
||||
}
|
||||
|
||||
type MatchMgr interface {
|
||||
|
@ -12,8 +12,8 @@ type HandlerMgr struct {
|
||||
|
||||
func (this *HandlerMgr) Init() {
|
||||
ss.RegHandlerId(int(ss.SSMessageIdE__SS_Ping), constant.WSP_LISTENER_HANDLER_ID)
|
||||
ss.RegHandlerId(int(ss.SSMessageIdE__SS_WSP_SocketDisconnect), constant.WSP_LISTENER_HANDLER_ID)
|
||||
|
||||
ss.RegHandlerId(int(ss.SSMessageIdE__SS_WSP_SocketDisconnect), constant.PLAYER_MGR_HANDLER_ID)
|
||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMPing), 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)
|
||||
|
@ -43,6 +43,10 @@ func (this *WSPListener) SS_ping(hdr *f5.MsgHdr, msg *ss.SS_Ping) {
|
||||
this.SendProxyMsg(hdr.Conn, 0, &rspMsg)
|
||||
}
|
||||
|
||||
func (this *WSPListener) SS_WSP_SocketDisconnect(hdr *f5.MsgHdr, msg *ss.SS_WSP_SocketDisconnect) {
|
||||
GetPlayerMgr().OnSocketClose(hdr.GetSocket())
|
||||
}
|
||||
|
||||
func (this *WSPListener) accept() {
|
||||
fmt.Println("accpet")
|
||||
for {
|
||||
|
@ -83,6 +83,7 @@ func (this *player) GetSocket() f5.WspCliConn {
|
||||
|
||||
func (this *player) onOffline(){
|
||||
this.socket.Reset()
|
||||
this.GetTeam().Leave(this)
|
||||
}
|
||||
|
||||
func (this *player) reBind(socket f5.WspCliConn) {
|
||||
|
@ -12,7 +12,6 @@ import (
|
||||
"mt"
|
||||
"net"
|
||||
"q5"
|
||||
"ss"
|
||||
)
|
||||
|
||||
type pendingLoginRequest struct {
|
||||
@ -55,7 +54,7 @@ func (this *playerMgr) Init() {
|
||||
}
|
||||
}
|
||||
for socket, _ := range deletedPlayers {
|
||||
this.onSocketClose(socket)
|
||||
this.OnSocketClose(socket)
|
||||
}
|
||||
})
|
||||
}
|
||||
@ -296,10 +295,6 @@ func (this *playerMgr) genSeqId() int64 {
|
||||
return reqId
|
||||
}
|
||||
|
||||
func (this *playerMgr) SS_WSP_SocketDisconnect(hdr *f5.MsgHdr, msg *ss.SS_WSP_SocketDisconnect) {
|
||||
this.onSocketClose(hdr.GetSocket())
|
||||
}
|
||||
|
||||
func (this *playerMgr) CMReconnect(hdr *f5.MsgHdr, msg *cs.CMReconnect) {
|
||||
hum := this.internalGetPlayerBySocket(hdr.GetSocket())
|
||||
rspMsg := &cs.SMReconnect{}
|
||||
@ -332,7 +327,7 @@ func (this *playerMgr) CMReconnect(hdr *f5.MsgHdr, msg *cs.CMReconnect) {
|
||||
GetWspListener().SendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg)
|
||||
}
|
||||
|
||||
func (this *playerMgr) onSocketClose(conn f5.WspCliConn) {
|
||||
func (this *playerMgr) OnSocketClose(conn f5.WspCliConn) {
|
||||
hum := this.internalGetPlayerBySocket(conn)
|
||||
if hum == nil {
|
||||
return
|
||||
|
@ -82,6 +82,7 @@ func (this *matchMgr) mustBeZn(key int64) *q5.ListHead {
|
||||
|
||||
func (this *matchMgr) execMatch(m *matchingInfo) {
|
||||
if q5.GetTickCount() - m.addTick > 1000 * 7 {
|
||||
m.entry.DelInit()
|
||||
f5.GetTimer().DeleteRunningTimer()
|
||||
m.team.setMatchOk(nil)
|
||||
startTime := f5.GetApp().GetNowSeconds()
|
||||
@ -111,6 +112,8 @@ func (this *matchMgr) execMatch(m *matchingInfo) {
|
||||
func (this *matchMgr) onMatchOk(m *matchingInfo) {
|
||||
delete(this.teamUuidHash, m.team.GetTeamUuid())
|
||||
delete(this.teamUuidHash, m.matchOk.team.GetTeamUuid())
|
||||
m.entry.DelInit()
|
||||
m.matchOk.entry.DelInit()
|
||||
|
||||
f5.GetTimer().DeleteRunningTimer()
|
||||
if !m.matchOk.matchTimerWp.Expired() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user