9341 【BT5】【主干】【后端】情缘系统(优化魅力榜单排序问题)
| | |
| | | #GameWorld.DebugLog("更新排行榜:bType=%s,autoSort=%s,tick=%s,lastSortTick=%s,d=%s" % (bType, autoSort, tick, lastSortTick, tick - lastSortTick))
|
| | |
|
| | | UpdatePlayerBillboard(bID, bName, bName2, bType, bType2, value1, value2, cmpValue, autoSort, cmpValue2, cmpValue3)
|
| | | gameWorld.SetDict(Def_Key_BillboardNeedSort % bType, 1)
|
| | | #__UpdateBillboardSortState(gameWorld, bType, autoSort, isUpd)
|
| | |
|
| | | exInfo = billInfoDict["ExInfo"]
|
| | | # 以下为榜单附加特殊处理
|
| | |
| | | if job in ShareDefine.JobFightPowerBillboardDict:
|
| | | jobBType = ShareDefine.JobFightPowerBillboardDict[job]
|
| | | UpdatePlayerBillboard(bID, bName, bName2, jobBType, bType2, value1, value2, cmpValue, autoSort, cmpValue2)
|
| | | gameWorld.SetDict(Def_Key_BillboardNeedSort % jobBType, 1)
|
| | | #__UpdateBillboardSortState(gameWorld, jobBType, autoSort, isUpd)
|
| | |
|
| | | return
|
| | |
|
| | | def __UpdateBillboardSortState(gameWorld, bType, autoSort, isUpd):
|
| | | key = Def_Key_BillboardNeedSort % bType
|
| | | needSort = gameWorld.GetDictByKey(key)
|
| | | if not autoSort and isUpd and not needSort:
|
| | | gameWorld.SetDict(key, 1)
|
| | | elif autoSort and needSort:
|
| | | gameWorld.SetDict(key, 0)
|
| | | |
| | | #GameWorld.DebugLog("__UpdateBillboardSortState:bType=%s,autoSort=%s,isUpd=%s,needSort=%s" % (bType, autoSort, isUpd, gameWorld.GetDictByKey(key)))
|
| | | return
|
| | |
|
| | | def GetBillboardOperateInfo(curPlayer):
|
| | |
| | |
|
| | | if bType in ShareDefine.BTValue1_OfficialRankList:
|
| | | value1 = playerRealmLV
|
| | | |
| | | |
| | | tick = GameWorld.GetGameWorld().GetTick()
|
| | | gameWorld = GameWorld.GetGameWorld()
|
| | | lastSortTick = gameWorld.GetDictByKey(Def_Key_BillboardSortTick % bType)
|
| | | autoSort = ((tick - lastSortTick) >= 60000 or autoSort) # 1分钟强制排序一次
|
| | | if autoSort:
|
| | | gameWorld.SetDict(Def_Key_BillboardSortTick % bType, tick)
|
| | | |
| | | UpdatePlayerBillboard(playerID, playerName, playerOpInfo, bType, playerJob, value1, value2, cmpValue, autoSort, cmpValue2, cmpValue3)
|
| | | return
|
| | |
|
| | |
| | | % (billboardIndex, billboardType, value1, value2, cmpValue, cmpValue2, cmpValue3, isNewData), curPlayerID)
|
| | | if not autoSort:
|
| | | #不自动排序
|
| | | GameWorld.GetGameWorld().SetDict(Def_Key_BillboardNeedSort % billboardIndex, 1) # 设置需要下次查看需要先排序
|
| | | return True
|
| | |
|
| | | #重新排序排行榜
|