| | |
| | | def SetCmpValue2(self, cmpValue2): self.__dbData.CmpValue2 = cmpValue2
|
| | | def GetCmpValue3(self): return self.__dbData.CmpValue3
|
| | | def SetCmpValue3(self, cmpValue3): self.__dbData.CmpValue3 = cmpValue3
|
| | | def GetTime(self): return self.__dbData.Time
|
| | | def SetTime(self, updTime): self.__dbData.Time = updTime
|
| | | def GetUserData(self): return self.__dbData.UserData
|
| | | def SetUserData(self, userData):
|
| | | if not isinstance(userData, str):
|
| | |
| | | copyData.SetCmpValue(self.GetCmpValue())
|
| | | copyData.SetCmpValue2(self.GetCmpValue2())
|
| | | copyData.SetCmpValue3(self.GetCmpValue3())
|
| | | copyData.SetTime(self.GetTime())
|
| | | return copyData
|
| | |
|
| | | class Billboard():
|
| | |
| | | def GetGroupValue1(self): return self.__groupValue1
|
| | | def GetGroupValue2(self): return self.__groupValue2
|
| | |
|
| | | def ClearData(self):
|
| | | def ClearData(self, drName=""):
|
| | | if not self.__billboardList:
|
| | | return
|
| | | GameWorld.Log("Billboard ClearData billboardType=%s,groupValue1=%s,groupValue2=%s,dataCount=%s" |
| | | % (self.__billboardType, self.__groupValue1, self.__groupValue2, len(self.__billboardList)))
|
| | | if GameWorld.IsCrossServer():
|
| | | self.SaveDRData("Clear")
|
| | | GameWorld.Log("Billboard ClearData billboardType=%s,groupValue1=%s,groupValue2=%s,dataCount=%s,drName=%s" |
| | | % (self.__billboardType, self.__groupValue1, self.__groupValue2, len(self.__billboardList), drName))
|
| | | if drName or GameWorld.IsCrossServer():
|
| | | self.SaveDRData(drName if drName else "Clear")
|
| | | self.__billboardList = [] # [BillboardData, ...]
|
| | | self.__idOrderDict = {} # {id:名次, ...}
|
| | | self.__idIndexDict = {}
|
| | |
| | | def SortData(self):
|
| | | GameWorld.DebugLog("榜单排序: billboardType=%s,groupValue1=%s,groupValue2=%s,dataCount=%s"
|
| | | % (self.__billboardType, self.__groupValue1, self.__groupValue2, len(self.__billboardList)))
|
| | | self.__billboardList.sort(key=lambda b: (b.GetCmpValue(), b.GetCmpValue2(), b.GetCmpValue3()), reverse=True)
|
| | | self.__billboardList.sort(key=lambda b: (b.GetCmpValue(), b.GetCmpValue2(), b.GetCmpValue3(), -b.GetTime()), reverse=True)
|
| | | self.__idOrderDict = {} # 排序后重置,下次查询时更新并缓存
|
| | | self.__idIndexDict = {}
|
| | | self.__sortDelay = False
|
| | |
| | | "Value5":bData.GetValue5(), "Value6":bData.GetValue6(),
|
| | | "Value7":bData.GetValue7(), "Value8":bData.GetValue8(),
|
| | | "CmpValue":bData.GetCmpValue(), "CmpValue2":bData.GetCmpValue2(),
|
| | | "CmpValue3":bData.GetCmpValue3(), "UserData":bData.GetUserData()}
|
| | | "CmpValue3":bData.GetCmpValue3(), "Time":bData.GetTime(), "UserData":bData.GetUserData()}
|
| | | DataRecordPack.SendEventPack(eventTypeStr, dataDict)
|
| | |
|
| | | return
|