package user import ( nameActor "f1-game/internal/name/actor" nameRemote "f1-game/internal/name/remote" "f1-game/internal/pb" "f1-game/internal/sessions" cfacade "github.com/cherry-game/cherry/facade" cproto "github.com/cherry-game/cherry/net/proto" ) func sync2Game(actor cfacade.IActor, session *cproto.Session, isBind bool) { gameNodeID := sessions.GetGameNodeID(session) playerID := sessions.GetPlayerID(session) if gameNodeID != "" { targetPath := cfacade.NewPath(gameNodeID, nameActor.GateSessions) if isBind { // 更新redis数据 sessions.SendRedisBind(playerID, session) // 向游戏服发送session绑定 actor.Call(targetPath, nameRemote.Sessions_Bind, session) } else { // 删除redis玩家session数据 sessions.SendRedisUnbind(playerID) // 向游戏服发送session解绑 actor.Call(targetPath, nameRemote.Sessions_Unbind, &pb.I64{ Value: playerID, }) } } } func sync2Map(actor cfacade.IActor, session *cproto.Session, isBind bool) { mapNodeID := sessions.GetMapNodeID(session) playerID := sessions.GetPlayerID(session) if mapNodeID != "" { targetPath := cfacade.NewPath(mapNodeID, nameActor.GateSessions) if isBind { actor.Call(targetPath, nameRemote.Sessions_Bind, session) } else { actor.Call(targetPath, nameRemote.Sessions_Unbind, &pb.I64{ Value: playerID, }) } } }