重构
This commit is contained in:
51
core/manage/manage.go
Normal file
51
core/manage/manage.go
Normal file
@@ -0,0 +1,51 @@
|
||||
package manage
|
||||
|
||||
import (
|
||||
"github.com/aceld/zinx/ziface"
|
||||
"github.com/aceld/zinx/zlog"
|
||||
)
|
||||
|
||||
// OnConnectionAdd 当客户端建立连接的时候的hook函数
|
||||
func OnConnectionAdd(conn ziface.IConnection) {
|
||||
//创建一个user
|
||||
|
||||
user := NewUser(conn, conn.RemoteAddrString())
|
||||
//将当前新上线玩家添加到ChannelManager中
|
||||
m := GetManager(conn.GetName())
|
||||
if m == nil {
|
||||
zlog.Ins().ErrorF("server internal error in GetManager")
|
||||
conn.Stop()
|
||||
return
|
||||
}
|
||||
m.AddUser(user)
|
||||
|
||||
//将该连接绑定属性PID
|
||||
conn.SetProperty("UID", user.UID)
|
||||
|
||||
zlog.Ins().InfoF("====> User uID = %s", user.UID, " arrived ====", "")
|
||||
}
|
||||
|
||||
// OnConnectionLost 当客户端断开连接的时候的hook函数
|
||||
func OnConnectionLost(conn ziface.IConnection) {
|
||||
//获取当前连接的PID属性
|
||||
uID, _ := conn.GetProperty("UID")
|
||||
var userID string
|
||||
if uID != nil {
|
||||
userID = uID.(string)
|
||||
}
|
||||
|
||||
//根据pID获取对应usr
|
||||
m := GetManager(conn.GetName())
|
||||
if m == nil {
|
||||
zlog.Ins().ErrorF("server internal error in GetManager")
|
||||
return
|
||||
}
|
||||
user := m.GetUserByPID(userID)
|
||||
|
||||
//触发玩家下线业务
|
||||
if user != nil {
|
||||
user.LostConnection(m)
|
||||
}
|
||||
|
||||
zlog.Ins().InfoF("====> User %s-%s", user.UID, user.UserName, " left =====")
|
||||
}
|
||||
Reference in New Issue
Block a user