pet_home_server/src/server/game/internal/chanrpc.go
2025-12-17 16:47:57 +08:00

36 lines
732 B
Go

package internal
import (
"server/MergeConst"
GoUtil "server/game_util"
"sync"
"server/pkg/github.com/name5566/leaf/gate"
)
var Agents = sync.Map{}
func init() {
skeleton.RegisterChanRPC("NewAgent", rpcNewAgent)
skeleton.RegisterChanRPC("CloseAgent", rpcCloseAgent)
}
func rpcNewAgent(args []interface{}) {
a := args[0].(gate.Agent)
Agents.Store(a, struct{}{})
GoUtil.CallEvent(MergeConst.Notify_Socket_Connect, []interface{}{a})
}
func rpcCloseAgent(args []interface{}) {
a := args[0].(gate.Agent)
p, ok := Agents.Load(a)
if ok {
GoUtil.CallEvent(MergeConst.Notify_Socket_Closed, []interface{}{p})
Agents.Delete(a)
}
}
func AsignPlayerToAgents(a gate.Agent, player interface{}) {
Agents.Store(a, player)
}