| | |
| | | def SetPackDataCrossSyncState(curPlayer): UpdPackDataSyncState(curPlayer, {"PackDataCross":1})
|
| | | def SetViewCacheCrossSyncState(curPlayer): UpdPackDataSyncState(curPlayer, {"ViewCacheCross":1})
|
| | |
|
| | | def NormalSyncPackData(curPlayer):
|
| | | '''常规同步打包数据,仅作为补充同步用,不强制同步
|
| | | 一般由需要打包数据的功能发起检查自动同步用,做战力验证,战力变更时主动同步一次
|
| | | 防止短时间内强化了战力,导致镜像数据差异太大,影响镜像战斗结果
|
| | | '''
|
| | | |
| | | syncFightPower = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_PackDataSyncFightPower)
|
| | | if PlayerControl.GetFightPower(curPlayer) == syncFightPower:
|
| | | GameWorld.DebugLog("战力与打包数据相同,不同步!", curPlayer.GetPlayerID())
|
| | | return
|
| | | GameWorld.DebugLog("战力与打包数据不同,立即同步!", curPlayer.GetPlayerID())
|
| | | |
| | | syncState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_PackDataSyncState)
|
| | | if not syncState:
|
| | | SetPackDataSyncState(curPlayer)
|
| | | SetPackDataCrossSyncState(curPlayer)
|
| | | |
| | | tick = GameWorld.GetGameWorld().GetTick()
|
| | | UpdateGameServerPlayerCache(curPlayer, tick)
|
| | | return
|
| | |
|
| | | ##更新玩家当前详细信息到GameServer
|
| | | # @param curPlayer, tick
|
| | | # @return None
|