39 lines
881 B
Go
39 lines
881 B
Go
package main
|
|
|
|
import (
|
|
"mongo.games.com/goserver/core/netlib"
|
|
"mongo.games.com/goserver/srvlib"
|
|
"mongo.games.com/goserver/srvlib/protocol"
|
|
)
|
|
|
|
var rankSession *netlib.Session
|
|
|
|
func init() {
|
|
srvlib.ServerSessionMgrSington.AddListener(new(RankSessionMgr))
|
|
}
|
|
|
|
type RankSessionMgr struct {
|
|
}
|
|
|
|
func (r *RankSessionMgr) OnRegiste(s *netlib.Session) {
|
|
attr := s.GetAttribute(srvlib.SessionAttributeServerInfo)
|
|
if attr != nil {
|
|
if srvInfo, ok := attr.(*protocol.SSSrvRegiste); ok && srvInfo != nil {
|
|
if srvInfo.GetType() == srvlib.RankServerType {
|
|
rankSession = s
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
func (r *RankSessionMgr) OnUnregiste(s *netlib.Session) {
|
|
attr := s.GetAttribute(srvlib.SessionAttributeServerInfo)
|
|
if attr != nil {
|
|
if srvInfo, ok := attr.(*protocol.SSSrvRegiste); ok && srvInfo != nil {
|
|
if srvInfo.GetType() == srvlib.RankServerType {
|
|
rankSession = nil
|
|
}
|
|
}
|
|
}
|
|
}
|