hxp
2020-04-02 0bb7ee068aedba47cb8de483ddf0fe21eb040fb1
ServerPython/CoreServerGroup/GameServer/Script/PyDataManager.py
@@ -23,6 +23,7 @@
import PyGameData
import CrossRealmPK
import AuctionHouse
import PlayerAssist
import PyGameDataStruct
import CommFunc
@@ -46,8 +47,9 @@
class PlayerAssistThanksPyManager(object):
    
    def __init__(self):
        self.assistThanksDict = {} # 所有感谢 {GUID:tagDBAssistThanks, ...}
        self.allAssistThanksList = [] # 所有感谢 [tagDBAssistThanks, ...]
        self.playerThanksDict = {} # 玩家未感谢的 {playerID:[tagDBAssistThanks, ...], ...}
        self.assistPlayerThanksDict = {} # 协助玩家未接受感谢的协助 {assistPlayerID:[tagDBAssistThanks, ...], ...}
        return
    
    # 保存数据 存数据库和realtimebackup
@@ -56,8 +58,9 @@
        cntData = ""
        cnt = 0
        
        for dbData in self.assistThanksDict.values():
        for dbData in self.allAssistThanksList:
            cnt += 1
            PlayerAssist.OnSaveAssistThanksData(dbData)
            savaData += dbData.getBuffer()
            
        GameWorld.Log("Save DBAssistThanks count :%s" % cnt)
@@ -72,13 +75,7 @@
            dbData = PyGameDataStruct.tagDBAssistThanks()
            dbData.clear()
            pos += dbData.readData(datas, pos, dataslen)
            self.assistThanksDict[dbData.GUID] = dbData
            playerID = dbData.PlayerID
            if playerID not in self.playerThanksDict:
                self.playerThanksDict[playerID] = []
            playerThanksList = self.playerThanksDict[playerID]
            playerThanksList.append(dbData)
            PlayerAssist.OnInitAssistThanksData(self, dbData)
            
        return pos
    
@@ -86,8 +83,11 @@
class PlayerAssistPyManager(object):
    
    def __init__(self):
        self.playerAssistDict = {} # 所有协助 {GUID:tagDBAssist, ...}
        self.allAssistDict = {} # 所有协助 {GUID:tagDBAssist, ...}
        self.familyAssistDict = {} # 仙盟协助缓存 {familyID:[tagDBAssist, ...], ...}
        self.playerNoSaveDBAssistDict = {} # 玩家发布的不存库协助 {playerID:[tagDBAssist, ...], ...}
        self.playerAssistingDict = {} # 玩家正在协助中的协助,只能存在一条 {playerID:tagDBAssist, ...}
        return
    
    # 保存数据 存数据库和realtimebackup
@@ -96,7 +96,9 @@
        cntData = ""
        cnt = 0
        
        for dbData in self.playerAssistDict.values():
        for dbData in self.allAssistDict.values():
            if not dbData.IsSaveDB:
                continue
            cnt += 1
            savaData += dbData.getBuffer()
            
@@ -113,7 +115,9 @@
            dbData.clear()
            pos += dbData.readData(datas, pos, dataslen)
            
            self.playerAssistDict[dbData.GUID] = dbData
            PlayerAssist.OnInitAssistData(dbData, 1)
            self.allAssistDict[dbData.GUID] = dbData
            familyID = dbData.FamilyID
            if familyID not in self.familyAssistDict:
                self.familyAssistDict[familyID] = []