package player import ( "github.com/panjf2000/gnet/v2" ) func GetPlayer(c gnet.Conn, userid uint32) *Player { //TODO 这里待优化,可能存在内存泄漏问题 //检查player初始化,是否为conn初始后取map,防止二次连接后存在两个player clientdata, ok := c.Context().(*ClientData) if !ok { return nil } if clientdata.Player == nil { clientdata.Player = NewPlayer( WithConn(c), //注入conn ) } // gff := socket.NewClientData() // gff.Player = clientdata.Player // c.MainConn.SetContext(gff) Mainplayer.Store(userid, clientdata.Player) return clientdata.Player // return nil } func KickPlayer(userid uint32) error { //踢出玩家 //TODO 返回错误码 //var player *entity.Player if player1, ok := Mainplayer.Load(userid); ok { player1.Kick() } //return player return nil }