|  |  | 
 |  |  |     #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
 | 
 |  |  |     
 | 
 |  |  |     #重新排序排行榜
 |