| | |
| | | import GameWorld
|
| | | import PlayerSocial
|
| | | import CrossBillboard
|
| | | import CrossFamilyGCZ
|
| | | import PlayerFamilyStore
|
| | | import PlayerCompensation
|
| | | import PlayerBourse
|
| | |
| | | import CrossRealmPK
|
| | | import AuctionHouse
|
| | | import PlayerAssist
|
| | | import GameRecData
|
| | | import PlayerRecData
|
| | | import GameWorldMineArea
|
| | | import PyGameDataStruct
|
| | | import PlayerPackData
|
| | | import PlayerFuncTeam
|
| | | import IpyGameDataPY
|
| | | import PlayerCharm
|
| | | import PlayerLove
|
| | | import CommFunc
|
| | | import time
|
| | |
|
| | | def GetSavePyData():
|
| | | |
| | | #存储数据前,一些功能业务数据先转化为存档数据
|
| | | CrossFamilyGCZ.OnSavePyData()
|
| | | |
| | | pyGameDataMgr = GetPyGameDataManager()
|
| | | result = pyGameDataMgr.GetSaveData()
|
| | | GameWorld.Log("GetSavePyData!! id = %s-%s"%(id(pyGameDataMgr), len(result)))
|
| | |
| | | def LoadPyGameData(gameBuffer, pos):
|
| | | pyGameDataMgr = GetPyGameDataManager()
|
| | | GameWorld.Log("LoadPyGameData!!id = %s %s"%(id(pyGameDataMgr), len(gameBuffer)))
|
| | | return pyGameDataMgr.LoadGameData(gameBuffer, pos)
|
| | | pos = pyGameDataMgr.LoadGameData(gameBuffer, pos)
|
| | | |
| | | #加载数据后,一些功能转化为功能业务数据
|
| | | CrossFamilyGCZ.OnLoadPyData()
|
| | | |
| | | return pos
|
| | |
|
| | | #协助感谢表
|
| | | class PlayerAssistThanksPyManager(object):
|
| | |
| | |
|
| | | # 保存数据 存数据库和realtimebackup
|
| | | def GetSaveData(self):
|
| | | PlayerAssist.RemoveOutofdateAssistThanks()
|
| | | savaData = ""
|
| | | cntData = ""
|
| | | cnt = 0
|
| | |
| | |
|
| | | def __init__(self):
|
| | | self.allAssistDict = {} # 所有协助 {GUID:tagDBAssist, ...}
|
| | | self.familyAssistDict = {} # 仙盟协助缓存 {familyID:[tagDBAssist, ...], ...}
|
| | |
|
| | | self.playerNoSaveDBAssistDict = {} # 玩家发布的不存库协助 {playerID:[tagDBAssist, ...], ...}
|
| | | self.playerAssistDict = {} # 玩家发布的协助 {playerID:[tagDBAssist, ...], ...}
|
| | | self.playerAssistingDict = {} # 玩家正在协助中的协助,只能存在一条 {playerID:tagDBAssist, ...}
|
| | | return
|
| | |
|
| | |
| | | PlayerAssist.OnInitAssistData(dbData, 1)
|
| | |
|
| | | self.allAssistDict[dbData.GUID] = dbData
|
| | | familyID = dbData.FamilyID
|
| | | if familyID not in self.familyAssistDict:
|
| | | self.familyAssistDict[familyID] = []
|
| | | familyAssistList = self.familyAssistDict[familyID]
|
| | | familyAssistList.append(dbData)
|
| | | PlayerID = dbData.PlayerID
|
| | | if PlayerID not in self.playerAssistDict:
|
| | | self.playerAssistDict[PlayerID] = []
|
| | | playerAssistList = self.playerAssistDict[PlayerID]
|
| | | playerAssistList.append(dbData)
|
| | |
|
| | | return pos
|
| | |
|
| | |
| | | cnt = 0
|
| | |
|
| | | for dbData in self.playerViewCachePyDict.values():
|
| | | if dbData.PlayerID < 10000:
|
| | | # 假人玩家不存储
|
| | | continue
|
| | | cnt += 1
|
| | | savaData += dbData.getBuffer()
|
| | |
|
| | |
| | |
|
| | | class PyGameDataManager(object):
|
| | | def __init__(self):
|
| | | self.DBPlayerPackDataManager = PlayerPackData.DBPlayerPackDataManager()
|
| | | self.DBGameRecDataManager = GameRecData.DBGameRecDataManager()
|
| | | self.DBPyFuncTeamManager = PlayerFuncTeam.DBPyFuncTeamManager()
|
| | | self.DBPyFuncTeamMemManager = PlayerFuncTeam.DBPyFuncTeamMemManager()
|
| | | self.DBPlayerRecDataManager = PlayerRecData.DBPlayerRecDataManager()
|
| | | self.DBPyMineAreaAwardManager = GameWorldMineArea.DBPyMineAreaAwardManager()
|
| | | self.DBPyMineAreaRecordManager = GameWorldMineArea.DBPyMineAreaRecordManager()
|
| | | self.DBPyMineAreaItemManager = GameWorldMineArea.DBPyMineAreaItemManager()
|
| | | self.DBPyCoupleManager = PlayerLove.DBPyCoupleManager()
|
| | | self.DBPyUnNotifyLoveGiftRecManager = PlayerLove.DBPyUnNotifyLoveGiftRecManager()
|
| | | self.DBPyCharmValueRecManager = PlayerCharm.DBPyCharmValueRecManager()
|
| | | self.IntimacyManager = PlayerSocial.IntimacyManager()
|
| | | self.CrossPersonalCompensationManager = PlayerCompensation.CrossPersonalCompensationManager()
|
| | | self.CrossBillboardManager = CrossBillboard.CrossBillboardManager()
|
| | | self.PlayerAssistThanksPyManager = PlayerAssistThanksPyManager()
|
| | |
| | |
|
| | | def GetSaveData(self):
|
| | | buff = ""
|
| | | buff += self.DBPlayerPackDataManager.GetSaveData()
|
| | | buff += self.DBGameRecDataManager.GetSaveData()
|
| | | buff += self.DBPyFuncTeamManager.GetSaveData()
|
| | | buff += self.DBPyFuncTeamMemManager.GetSaveData()
|
| | | buff += self.DBPlayerRecDataManager.GetSaveData()
|
| | | buff += self.DBPyMineAreaAwardManager.GetSaveData()
|
| | | buff += self.DBPyMineAreaRecordManager.GetSaveData()
|
| | | buff += self.DBPyMineAreaItemManager.GetSaveData()
|
| | | buff += self.DBPyCoupleManager.GetSaveData()
|
| | | buff += self.DBPyUnNotifyLoveGiftRecManager.GetSaveData()
|
| | | buff += self.DBPyCharmValueRecManager.GetSaveData()
|
| | | buff += self.IntimacyManager.GetSaveData()
|
| | | buff += self.CrossPersonalCompensationManager.GetSaveData()
|
| | | buff += self.CrossBillboardManager.GetSaveData()
|
| | | buff += self.PlayerAssistThanksPyManager.GetSaveData()
|
| | |
| | | return buff
|
| | |
|
| | | def LoadGameData(self, gameBuffer, pos):
|
| | | pos = self.DBPlayerPackDataManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
| | | pos = self.DBGameRecDataManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
| | | pos = self.DBPyFuncTeamManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
| | | pos = self.DBPyFuncTeamMemManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
| | | pos = self.DBPlayerRecDataManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
| | | pos = self.DBPyMineAreaAwardManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
| | | pos = self.DBPyMineAreaRecordManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
| | | pos = self.DBPyMineAreaItemManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
| | | pos = self.DBPyCoupleManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
| | | pos = self.DBPyUnNotifyLoveGiftRecManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
| | | pos = self.DBPyCharmValueRecManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
| | | pos = self.IntimacyManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
| | | pos = self.CrossPersonalCompensationManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
| | | pos = self.CrossBillboardManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
| | | pos = self.PlayerAssistThanksPyManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
| | |
| | | pyGameDataMgr = GetPyGameDataManager()
|
| | | return pyGameDataMgr.familyStoreItemManager
|
| | |
|
| | | def GetDBGameRecDataManager():
|
| | | # 通用记录表新管理
|
| | | pyGameDataMgr = GetPyGameDataManager()
|
| | | return pyGameDataMgr.DBGameRecDataManager
|
| | |
|
| | | def GetDBPlayerPackDataManager():
|
| | | # 玩家打包数据管理
|
| | | pyGameDataMgr = GetPyGameDataManager()
|
| | | return pyGameDataMgr.DBPlayerPackDataManager
|
| | |
|
| | | def GetDBPyFuncTeamManager():
|
| | | # 功能队伍管理
|
| | | pyGameDataMgr = GetPyGameDataManager()
|
| | | return pyGameDataMgr.DBPyFuncTeamManager
|
| | |
|
| | | #def GetDBPyFuncTeamMemManager():
|
| | | # # 功能队伍成员管理
|
| | | # pyGameDataMgr = GetPyGameDataManager()
|
| | | # return pyGameDataMgr.DBPyFuncTeamMemManager
|
| | |
|
| | | def GetDBPlayerRecDataManager():
|
| | | # 玩家记录管理
|
| | | pyGameDataMgr = GetPyGameDataManager()
|
| | | return pyGameDataMgr.DBPlayerRecDataManager
|
| | |
|
| | | def GetDBPyMineAreaAwardManager():
|
| | | # 福地奖励结算管理
|
| | | pyGameDataMgr = GetPyGameDataManager()
|
| | | return pyGameDataMgr.DBPyMineAreaAwardManager
|
| | |
|
| | | def GetDBPyMineAreaRecordManager():
|
| | | # 福地矿物记录管理
|
| | | pyGameDataMgr = GetPyGameDataManager()
|
| | | return pyGameDataMgr.DBPyMineAreaRecordManager
|
| | |
|
| | | def GetDBPyMineAreaItemManager():
|
| | | # 福地矿物管理
|
| | | pyGameDataMgr = GetPyGameDataManager()
|
| | | return pyGameDataMgr.DBPyMineAreaItemManager
|
| | |
|
| | | def GetDBPyCoupleManager():
|
| | | # 伴侣管理
|
| | | pyGameDataMgr = GetPyGameDataManager()
|
| | | return pyGameDataMgr.DBPyCoupleManager
|
| | |
|
| | | def GetDBPyUnNotifyLoveGiftRecManager():
|
| | | # 未通知的赠送礼物记录
|
| | | pyGameDataMgr = GetPyGameDataManager()
|
| | | return pyGameDataMgr.DBPyUnNotifyLoveGiftRecManager
|
| | |
|
| | | def GetDBPyCharmValueRecManager():
|
| | | # 魅力管理
|
| | | pyGameDataMgr = GetPyGameDataManager()
|
| | | return pyGameDataMgr.DBPyCharmValueRecManager
|
| | |
|
| | | def GetIntimacyManager():
|
| | | # 亲密管理
|
| | | pyGameDataMgr = GetPyGameDataManager()
|
| | | return pyGameDataMgr.IntimacyManager
|
| | |
|
| | | # 好友系统
|
| | | def GetFriendManager():
|
| | | pyGameDataMgr = GetPyGameDataManager()
|