From d0d6f28bee730ee64bf46adffa4f768d6af6ac0c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 19 九月 2024 10:56:34 +0800
Subject: [PATCH] 10267 【越南】【英文】【砍树】仙官新增膜拜

---
 ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameRecData.py |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameRecData.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameRecData.py
index 80f819d..8690970 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameRecData.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameRecData.py
@@ -21,7 +21,6 @@
 import CommFunc
 
 import time
-import json
 
 class GameRecData():
     
@@ -68,22 +67,31 @@
         return self.__userDataDict
     def GetUserDataByKey(self, key, defaultValue=None):
         userDataDict = self.__GetUserDataDict()
-        return userDataDict.get(str(key), defaultValue)
+        if key in userDataDict:
+            return userDataDict[key]
+        return defaultValue
     def SetUserDataByKey(self, key, value):
         userDataDict = self.__GetUserDataDict()
-        userDataDict[str(key)] = value
+        userDataDict[key] = value
         self.__userDataChange = True
         return
     def GetUserData(self):
         if self.__userDataChange:
             self.SaveUserData()
         return self.dbRecData.UserData
-    def SaveUserData(self):
-        userDataDict = self.__GetUserDataDict()
-        self.dbRecData.UserData = json.dumps(userDataDict, ensure_ascii=False).replace(" ", "")
+    def SetUserData(self, userData):
+        ## 支持直接保存任意格式数据,或者按字典方式读取kv值
+        if type(userData) != str:
+            userData = str(userData)
+        self.dbRecData.UserData = userData.replace(" ", "")
         self.dbRecData.UserDataLen = len(self.dbRecData.UserData)
+        self.__userDataDict = None
         self.__userDataChange = False
         return
+    def SaveUserData(self):
+        if self.__userDataChange:
+            self.SetUserData(self.__userDataDict)
+        return
     
     def IsMatchValue(self, valueList):
         # 检查记录值列表是否配置该记录

--
Gitblit v1.8.0