| | |
| | | packObj = packDataMgr.GetPlayerPackObj(playerID)
|
| | | # 已经有的数据先推送回去
|
| | | if packObj:
|
| | | GameWorld.DebugLog("跨服有缓存玩家打包数据,直接推给子服! playerID=%s" % playerID)
|
| | | packDataDict[playerID] = packObj.PackData
|
| | | dataMsg = {"playerID":playerID, "packData":packObj.PackData, "msgInfo":msgInfo}
|
| | | CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_PushPlayerPackData, dataMsg, [serverGroupID])
|
| | |
| | | msgInfo = msgData["msgInfo"]
|
| | | pullPlayerIDList = msgData["pullPlayerIDList"]
|
| | |
|
| | | needPullPlayerIDList = []
|
| | | packDataMgr = PyDataManager.GetDBPlayerPackDataManager()
|
| | | for playerID in pullPlayerIDList:
|
| | | packObj = packDataMgr.GetPlayerPackObj(playerID)
|
| | | if packObj:
|
| | | # 本服有数据,直接推给跨服
|
| | | GameWorld.DebugLog("本服有缓存玩家打包数据,直接推给跨服! playerID=%s" % playerID)
|
| | | dataMsg = {"playerID":playerID, "packData":packObj.PackData, "msgInfo":msgInfo}
|
| | | CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_PlayerPackData, dataMsg)
|
| | | else:
|
| | | needPullPlayerIDList.append(playerID)
|
| | | DoPullPlayerPackData(playerID, msgInfo)
|
| | |
|
| | | DoPullPlayerPackData(needPullPlayerIDList, msgInfo)
|
| | | return
|
| | |
|
| | | def CrossServerMsg_PushPlayerPackData(msgData):
|
| | |
| | | CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_PlayerPackData, dataMsg)
|
| | | return
|
| | |
|
| | | PyDataManager.GetDBPlayerPackDataManager().UpdPlayerPackData(playerID, packData)
|
| | | # 本服需要,汇总结果
|
| | | ReuestPlayerPackDataRet(msgInfo, playerID, packData)
|
| | | return
|