| | |
| | | if key in userDataDict:
|
| | | return userDataDict[key]
|
| | | return defaultValue
|
| | | def SetUserDataByKey(self, key, value):
|
| | | def SetUserDataByKey(self, key, value, noneDelKey=False):
|
| | | if not value and noneDelKey:
|
| | | self.DelUserDataByKey(key)
|
| | | return
|
| | | userDataDict = self.__GetUserDataDict()
|
| | | userDataDict[key] = value
|
| | | self.__userDataChange = True
|
| | | return
|
| | | def DelUserDataByKey(self, key):
|
| | | userDataDict = self.__GetUserDataDict()
|
| | | userDataDict.pop(key, None)
|
| | | self.__userDataChange = True
|
| | | return
|
| | | def GetUserData(self):
|
| | |
| | | curValue = getattr(self, "GetValue%s" % i)()
|
| | | if curValue != value:
|
| | | return False
|
| | | return True
|
| | | |
| | | def IsEmpty(self):
|
| | | if self.GetValue1() or self.GetValue2() or self.GetValue3() or self.GetUserData() not in ["", "{}"] or self.GetValue4() \
|
| | | or self.GetValue5() or self.GetValue6() or self.GetValue7() or self.GetValue8():
|
| | | return False
|
| | | return True
|
| | |
|
| | | def GetString(self):
|
| | |
| | | playerRecDataList.append(recData)
|
| | | return
|
| | |
|
| | | def GetPlayerRecDataFirst(self, recType, playerID):
|
| | | def GetPlayerRecDataFirst(self, recType, playerID, isAddNew):
|
| | | ## 获取玩家记录类型对应的第一条记录,适用于仅需一条的记录类型
|
| | | # @param isAddNew: 没有记录时是否添加一条新记录,一般获取后需要更新数据的可以设置为True,仅判断用的建议设置为False,减少产生多余空数据
|
| | | recData = None
|
| | | recDataList = self.GetPlayerRecDataList(recType, playerID)
|
| | | if recDataList:
|
| | | recData = recDataList[0]
|
| | | else:
|
| | | elif isAddNew:
|
| | | recData = self.AddPlayerRecData(recType, playerID)
|
| | | return recData
|
| | |
|
| | |
| | | for playerRecDataDict in self.recTypeDict.values():
|
| | | for recDataList in playerRecDataDict.values():
|
| | | for recData in recDataList:
|
| | | cnt += 1
|
| | | recData.SaveUserData()
|
| | | if recData.IsEmpty():
|
| | | continue
|
| | | cnt += 1
|
| | | savaData += recData.dbRecData.getBuffer()
|
| | |
|
| | | GameWorld.Log("Save DBPlayerRecData count :%s len=%s" % (cnt, len(savaData)))
|