| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- 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,
- })
- }
- }
- }
|