#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#
|
##@package E:/GameSVN/U3DGame/ProjectSServer/ServerPython/CoreServerGroup/GameServer/Script/PyDataManager.py
|
# @todo:
|
#
|
# @author: Alee
|
# @date 2017-8-21 ÏÂÎç02:06:00
|
# @version 1.0
|
#
|
# @note: pyÊý¾Ý±£´æuser¿â£¬ÏÈÔÚRegistPySaveDataÖÐ×¢²á£¬±£´æÊ±µ÷ÓöÔÓ¦º¯Êý£¬mongo½ÓÊÕ´¦Àí
|
#
|
#---------------------------------------------------------------------
|
|
import GameWorld
|
import PlayerSocial
|
import CrossBillboard
|
import PlayerFamilyStore
|
import PlayerCompensation
|
import PlayerBourse
|
import GameWorldBoss
|
import PlayerSealDemon
|
import PlayerXMZZ
|
import binascii
|
import PyGameData
|
import CrossRealmPK
|
import AuctionHouse
|
import PlayerAssist
|
import PyGameDataStruct
|
import IpyGameDataPY
|
import PlayerCharm
|
import PlayerLove
|
import CommFunc
|
import time
|
|
def GetSavePyData():
|
pyGameDataMgr = GetPyGameDataManager()
|
result = pyGameDataMgr.GetSaveData()
|
GameWorld.Log("GetSavePyData!! id = %s-%s"%(id(pyGameDataMgr), len(result)))
|
result = binascii.b2a_hex(result)
|
#GameWorld.DebugLog("GetSavePyData!! result = %s-%s"%(result, len(result)))
|
# ×Ö½ÚÂëÔÚC++ת»¯»á·¢Éú´íÎómust be string without null bytes, not str£¬µ«ÊÇ¿ÉÒÔÕý³£±£´æ£¬´íÎó»áÔÚÏ´ε÷ÓñãÒ˽ӿڲŻᴥ·¢
|
# ÔÝʱ¸Ä³É×Ö·û´®·µ»Ø£¬ÔÝÎÞ½â¾ö·½°¸
|
return str(len(result)) + "|" + result
|
|
|
def LoadPyGameData(gameBuffer, pos):
|
pyGameDataMgr = GetPyGameDataManager()
|
GameWorld.Log("LoadPyGameData!!id = %s %s"%(id(pyGameDataMgr), len(gameBuffer)))
|
return pyGameDataMgr.LoadGameData(gameBuffer, pos)
|
|
#ÐÖú¸Ðл±í
|
class PlayerAssistThanksPyManager(object):
|
|
def __init__(self):
|
self.allAssistThanksList = [] # ËùÓиÐл [tagDBAssistThanks, ...]
|
self.playerThanksDict = {} # Íæ¼Òδ¸ÐлµÄ {playerID:[tagDBAssistThanks, ...], ...}
|
self.assistPlayerThanksDict = {} # ÐÖúÍæ¼Òδ½ÓÊܸÐлµÄÐÖú {assistPlayerID:[tagDBAssistThanks, ...], ...}
|
return
|
|
# ±£´æÊý¾Ý ´æÊý¾Ý¿âºÍrealtimebackup
|
def GetSaveData(self):
|
savaData = ""
|
cntData = ""
|
cnt = 0
|
|
for dbData in self.allAssistThanksList:
|
cnt += 1
|
PlayerAssist.OnSaveAssistThanksData(dbData)
|
savaData += dbData.getBuffer()
|
|
GameWorld.Log("Save DBAssistThanks count :%s len=%s" % (cnt, len(savaData)))
|
return CommFunc.WriteDWORD(cntData, cnt) + savaData
|
|
# ´ÓÊý¾Ý¿âÔØÈëÊý¾Ý
|
def LoadPyGameData(self, datas, pos, dataslen):
|
cnt, pos = CommFunc.ReadDWORD(datas, pos)
|
GameWorld.Log("Load DBAssistThanks count :%s" % cnt)
|
|
for _ in xrange(cnt):
|
dbData = PyGameDataStruct.tagDBAssistThanks()
|
dbData.clear()
|
pos += dbData.readData(datas, pos, dataslen)
|
PlayerAssist.OnInitAssistThanksData(self, dbData)
|
|
return pos
|
|
#ÐÖú±í
|
class PlayerAssistPyManager(object):
|
|
def __init__(self):
|
self.allAssistDict = {} # ËùÓÐÐÖú {GUID:tagDBAssist, ...}
|
self.familyAssistDict = {} # ÏÉÃËÐÖú»º´æ {familyID:[tagDBAssist, ...], ...}
|
|
self.playerNoSaveDBAssistDict = {} # Íæ¼Ò·¢²¼µÄ²»´æ¿âÐÖú {playerID:[tagDBAssist, ...], ...}
|
self.playerAssistingDict = {} # Íæ¼ÒÕýÔÚÐÖúÖеÄÐÖú£¬Ö»ÄÜ´æÔÚÒ»Ìõ {playerID:tagDBAssist, ...}
|
return
|
|
# ±£´æÊý¾Ý ´æÊý¾Ý¿âºÍrealtimebackup
|
def GetSaveData(self):
|
savaData = ""
|
cntData = ""
|
cnt = 0
|
|
for dbData in self.allAssistDict.values():
|
if not dbData.IsSaveDB:
|
continue
|
cnt += 1
|
savaData += dbData.getBuffer()
|
|
GameWorld.Log("Save DBAssist count :%s len=%s" % (cnt, len(savaData)))
|
return CommFunc.WriteDWORD(cntData, cnt) + savaData
|
|
# ´ÓÊý¾Ý¿âÔØÈëÊý¾Ý
|
def LoadPyGameData(self, datas, pos, dataslen):
|
cnt, pos = CommFunc.ReadDWORD(datas, pos)
|
GameWorld.Log("Load DBAssist count :%s" % cnt)
|
|
for _ in xrange(cnt):
|
dbData = PyGameDataStruct.tagDBAssist()
|
dbData.clear()
|
pos += dbData.readData(datas, pos, dataslen)
|
|
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)
|
|
return pos
|
|
#Íæ¼Ò»º´æ¹ÜÀí£¬¸ÃÀàÖ»×öÊý¾Ý»º´æ´æÈ¡£¬²»Ð´¹¦ÄÜÂß¼£¬·ÀÖ¹ÖØ¶Á½Å±¾Ê±¹¦ÄÜÂß¼½Å±¾²»ÉúЧ
|
class PlayerViewCachePyManager(object):
|
|
def __init__(self):
|
self.playerViewCachePyDict = {} # Íæ¼Ò»º´æ {playerID:tagPlayerViewCachePy, ...}
|
return
|
|
# ±£´æÊý¾Ý ´æÊý¾Ý¿âºÍrealtimebackup
|
def GetSaveData(self):
|
savaData = ""
|
cntData = ""
|
cnt = 0
|
|
for dbData in self.playerViewCachePyDict.values():
|
cnt += 1
|
savaData += dbData.getBuffer()
|
|
GameWorld.Log("Save PlayerViewCachePy count :%s len=%s" % (cnt, len(savaData)))
|
return CommFunc.WriteDWORD(cntData, cnt) + savaData
|
|
# ´ÓÊý¾Ý¿âÔØÈëÊý¾Ý
|
def LoadPyGameData(self, datas, pos, dataslen):
|
cnt, pos = CommFunc.ReadDWORD(datas, pos)
|
GameWorld.Log("Load PlayerViewCachePy count :%s" % cnt)
|
|
for _ in xrange(cnt):
|
dbData = PyGameDataStruct.tagPlayerViewCachePy()
|
dbData.clear()
|
pos += dbData.readData(datas, pos, dataslen)
|
|
self.playerViewCachePyDict[dbData.PlayerID] = dbData
|
|
return pos
|
|
#ÅÄÂô¼Ç¼¹ÜÀí£¬¸ÃÀàÖ»×öÊý¾Ý»º´æ´æÈ¡£¬²»Ð´¹¦ÄÜÂß¼£¬·ÀÖ¹ÖØ¶Á½Å±¾Ê±¹¦ÄÜÂß¼½Å±¾²»ÉúЧ
|
class AuctionRecordManager(object):
|
|
def __init__(self):
|
self.myAuctionItemRecordDict = {} # ÎÒµÄÅÄÆ·¼Ç¼ {playerID:[tagDBAuctionRecord, ...], ...}
|
self.myBidItemRecordDict = {} # ÎҵľºÅļǼ {playerID:[tagDBAuctionRecord, ...], ...}
|
self.familyAuctionItemRecordDict = {} # ÏÉÃËÅÄÆ·¼Ç¼ {familyID:[tagDBAuctionRecord, ...], ...}
|
return
|
|
# ±£´æÊý¾Ý ´æÊý¾Ý¿âºÍrealtimebackup
|
def GetSaveData(self):
|
savaData = ""
|
cntData = ""
|
cnt = 0
|
|
unSaveCnt = 0
|
curTime = int(time.time())
|
vaildSeconds = IpyGameDataPY.GetFuncCfg("AuctionHouse", 1) * 3600 * 24
|
for recordDict in [self.myAuctionItemRecordDict, self.myBidItemRecordDict, self.familyAuctionItemRecordDict]:
|
for recordList in recordDict.values():
|
for dbData in recordList:
|
if vaildSeconds:
|
recordTime = GameWorld.ChangeTimeStrToNum(dbData.RecordTime)
|
if curTime - recordTime > vaildSeconds:
|
unSaveCnt += 1
|
continue
|
cnt += 1
|
savaData += dbData.getBuffer()
|
|
GameWorld.Log("Save AuctionRecord count :%s len=%s unSaveCnt=%s" % (cnt, len(savaData), unSaveCnt))
|
return CommFunc.WriteDWORD(cntData, cnt) + savaData
|
|
# ´ÓÊý¾Ý¿âÔØÈëÊý¾Ý
|
def LoadPyGameData(self, datas, pos, dataslen):
|
cnt, pos = CommFunc.ReadDWORD(datas, pos)
|
GameWorld.Log("Load AuctionRecord count :%s" % cnt)
|
|
for _ in xrange(cnt):
|
dbData = PyGameDataStruct.tagDBAuctionRecord()
|
dbData.clear()
|
pos += dbData.readData(datas, pos, dataslen)
|
|
AuctionHouse.AddNewAuctionRecord(dbData)
|
|
return pos
|
|
#ÅÄÂô¹Ø×¢¹ÜÀí£¬¸ÃÀàÖ»×öÊý¾Ý»º´æ´æÈ¡£¬²»Ð´¹¦ÄÜÂß¼£¬·ÀÖ¹ÖØ¶Á½Å±¾Ê±¹¦ÄÜÂß¼½Å±¾²»ÉúЧ
|
class AuctionAttentionManager(object):
|
|
def __init__(self):
|
self.playerAttentionDict = {} # Íæ¼Ò¹Ø×¢ÅÄÂôÆ·ID {playerID:tagDBAuctionAttention, ...}
|
return
|
|
# ±£´æÊý¾Ý ´æÊý¾Ý¿âºÍrealtimebackup
|
def GetSaveData(self):
|
savaData = ""
|
cntData = ""
|
cnt = 0
|
|
for dbData in self.playerAttentionDict.values():
|
cnt += 1
|
savaData += dbData.getBuffer()
|
|
GameWorld.Log("Save AuctionAttention count :%s len=%s" % (cnt, len(savaData)))
|
return CommFunc.WriteDWORD(cntData, cnt) + savaData
|
|
# ´ÓÊý¾Ý¿âÔØÈëÊý¾Ý
|
def LoadPyGameData(self, datas, pos, dataslen):
|
cnt, pos = CommFunc.ReadDWORD(datas, pos)
|
GameWorld.Log("Load AuctionAttention count :%s" % cnt)
|
|
for _ in xrange(cnt):
|
dbData = PyGameDataStruct.tagDBAuctionAttention()
|
dbData.clear()
|
pos += dbData.readData(datas, pos, dataslen)
|
|
self.playerAttentionDict[dbData.PlayerID] = dbData
|
AuctionHouse.OnLoadAuctionAttentionDataEx(dbData)
|
|
return pos
|
|
def __InitAuctionAttentionAttrEx(self, attentionData):
|
## ³õʼ»¯ÅÄÂô¹Ø×¢ÊµÀý¸½¼ÓÊôÐÔ
|
setattr(attentionData, "AttentionItemIDList", [])
|
if attentionData.AttentionInfo.startswith("[") and attentionData.AttentionInfo.endswith("]"):
|
attentionData.AttentionItemIDList = eval(attentionData.AttentionInfo)
|
return
|
|
#ÅÄÂôÎïÆ·Êý¾Ý»º´æ£¬¸ÃÀàÖ»×öÊý¾Ý»º´æ´æÈ¡£¬²»Ð´¹¦ÄÜÂß¼£¬·ÀÖ¹ÖØ¶Á½Å±¾Ê±¹¦ÄÜÂß¼½Å±¾²»ÉúЧ
|
class AuctionItemManager():
|
|
def __init__(self):
|
self.allAuctionItemDict = {} # ËùÓÐÅÄÆ·×ֵ仺´æ {ItemGUID:tagDBAuctionItem, ...}
|
self.allAuctionItemByEndTimeList = [] # ¸ù¾Ý½áÊøÊ±¼äÅÅÐòµÄËùÓÐÅÄÆ·»º´æ [tagDBAuctionItem, ...]
|
self.worldAuctionItemList = [] # È«·þÅÄÆ·ÁÐ±í»º´æ [tagDBAuctionItem, ...]
|
self.worldAuctionItemQueryDict = {} # È«·þÅÄÆ·¹ýÂ˲éѯ»º´æ£¬Ìí¼ÓÅÄÆ·Ê±ÖØÖà {(job, (itemType, ...), itemClassLV, (itemID, ...)):[tagDBAuctionItem, ...], ...}
|
self.familyAuctionItemDict = {} # ÏÉÃËÅÄÆ·ÁÐ±í»º´æ£¬°üº¬×ªÒƵ½È«·þµÄÏÉÃËÅÄÆ· {familyID:[tagDBAuctionItem, ...], ...}
|
self.sysBuyoutItemByTimeList = [] # ϵͳһ¿Ú¼ÛÅÄÆ·°´Ê±¼äÅÅÐò»º´æ [tagDBAuctionItem, ...]
|
|
self.nowBiddingAuctionItemDict = {} # Íæ¼Òµ±Ç°ÊÇ×î¸ß¾º¼ÛµÄÅÄÆ·£¬º¬ËùÓÐÅÄÆ· {playerID:[tagDBAuctionItem, ...], ...}
|
self.hisBiddingAuctionItemDict = {} # Íæ¼ÒÔø¾²ÎÓë¹ý¾º¼ÛµÄÅÄÆ·£¬º¬ËùÓÐÅÄÆ· {playerID:[tagDBAuctionItem, ...], ...}
|
self.myAuctionItemDict = {} # Íæ¼ÒÅÄÂôÖеÄÎïÆ· £¬²»°üº¬ÏÉÃËÅÄÆ·£¬ÓÉǰ¶Ë½çÃæ×ÔÐÐÕûºÏÊý¾Ý {playerID:[tagDBAuctionItem, ...], ...}
|
self.myAttentionItemDict = {} # Íæ¼Ò¹Ø×¢ÖеÄÎïÆ· £¬²»°üº¬ÏÉÃËÅÄÆ·£¬ÓÉǰ¶Ë½çÃæ×ÔÐÐÕûºÏÊý¾Ý£¬Ö»±£´æÔÚÏßµÄÍæ¼Ò£¬ÀëÏßÇå³ý£¬ÉÏÏß²»Í¬²½£¬ÓÉǰ¶Ë²éѯ {playerID:[tagDBAuctionItem, ...], ...}
|
|
self.worldAuctionItemCountDict = {} # È«·þÅÄÆ·ÎïÆ·ID¶ÔÓ¦¼þÊýͳ¼Æ {itemID:¼þÊý, ...}
|
self.worldAuctionJobEquipCountDict = {} # È«·þÅÄÆ·Ö°Òµ×°±¸¶ÔÓ¦¼þÊýͳ¼Æ {(Ö°Òµ,½×,ÑÕÉ«,ÊÇ·ñÌ××°):¼þÊý, ...}
|
self.worldAuctionReplenishTimeDict = {} # È«·þÅÄÆ·¶¯Ì¬ÉϼÜÀúÊ·´¦Àíʱ¼ä {cfgID:time, ...}
|
return
|
|
# ±£´æÊý¾Ý ´æÊý¾Ý¿âºÍrealtimebackup
|
def GetSaveData(self):
|
savaData = ""
|
cntData = ""
|
cnt = 0
|
|
for dbData in self.allAuctionItemDict.values():
|
cnt += 1
|
savaData += dbData.getBuffer()
|
|
GameWorld.Log("Save AuctionItem count :%s len=%s" % (cnt, len(savaData)))
|
return CommFunc.WriteDWORD(cntData, cnt) + savaData
|
|
# ´ÓÊý¾Ý¿âÔØÈëÊý¾Ý
|
def LoadPyGameData(self, datas, pos, dataslen):
|
cnt, pos = CommFunc.ReadDWORD(datas, pos)
|
GameWorld.Log("Load AuctionItem count :%s" % cnt)
|
|
for _ in xrange(cnt):
|
dbData = PyGameDataStruct.tagDBAuctionItem()
|
dbData.clear()
|
pos += dbData.readData(datas, pos, dataslen)
|
|
self.allAuctionItemDict[dbData.ItemGUID] = dbData
|
AuctionHouse.OnLoadAuctionItemDataEx(dbData)
|
|
AuctionHouse.OnLoadAuctionItemDataOK()
|
return pos
|
|
# ¸öÈËÉç½»Ïà¹Ø±í
|
# ºÃÓÑ±í£¬³ðÈË±í£¬×î½üÁªÏµÈË£¬ºÚÃûµ¥£¬ËÄÕÅ±í¹«ÓõÄÉç½»ÐÅÏ¢±í
|
|
class PyGameDataManager(object):
|
def __init__(self):
|
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()
|
self.PlayerAssistPyManager = PlayerAssistPyManager()
|
self.PlayerViewCachePyManager = PlayerViewCachePyManager()
|
self.AuctionAttentionManager = AuctionAttentionManager()
|
self.AuctionRecordManager = AuctionRecordManager()
|
self.AuctionItemManager = AuctionItemManager()
|
self.crossPKUnNotifyOverInfo = CrossRealmPK.CrossPKUnNotifyOverInfoManager()
|
self.crossPKBillboard = CrossRealmPK.CrossPKBillboardManager()
|
self.XMZZManager = PlayerXMZZ.XMZZManager()
|
self.sealDemonManager = PlayerSealDemon.SealDemonManager()
|
self.bossAttentionManager = GameWorldBoss.BossAttentionManager()
|
self.bourseItemLastPriceManager = PlayerBourse.BourseItemLastPriceManager()
|
self.bourseRecordManager = PlayerBourse.BourseRecordManager()
|
self.familyStoreItemManager = PlayerFamilyStore.FamilyStoreItemManager()
|
self.friendManager = PlayerSocial.FriendManager()
|
self.enemyManager = PlayerSocial.EnemyManager()
|
self.contactsManager = PlayerSocial.ContactsManager()
|
self.blacklistManager = PlayerSocial.BlacklistManager()
|
self.socialInfoManager = PlayerSocial.SocialInfoManager()
|
return
|
|
def GetSaveData(self):
|
buff = ""
|
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()
|
buff += self.PlayerAssistPyManager.GetSaveData()
|
buff += self.PlayerViewCachePyManager.GetSaveData()
|
buff += self.AuctionAttentionManager.GetSaveData()
|
buff += self.AuctionRecordManager.GetSaveData()
|
buff += self.AuctionItemManager.GetSaveData()
|
buff += self.crossPKUnNotifyOverInfo.GetSaveData()
|
buff += self.crossPKBillboard.GetSaveData()
|
buff += self.XMZZManager.GetSaveData()
|
buff += self.sealDemonManager.GetSaveData()
|
buff += self.bossAttentionManager.GetSaveData()
|
buff += self.bourseItemLastPriceManager.GetSaveData()
|
buff += self.bourseRecordManager.GetSaveData()
|
buff += self.familyStoreItemManager.GetSaveData()
|
buff += self.friendManager.GetSaveData()
|
buff += self.enemyManager.GetSaveData()
|
buff += self.contactsManager.GetSaveData()
|
buff += self.blacklistManager.GetSaveData()
|
buff += self.socialInfoManager.GetSaveData()
|
return buff
|
|
def LoadGameData(self, gameBuffer, pos):
|
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))
|
pos = self.PlayerAssistPyManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
pos = self.PlayerViewCachePyManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
pos = self.AuctionAttentionManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
pos = self.AuctionRecordManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
pos = self.AuctionItemManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
pos = self.crossPKUnNotifyOverInfo.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
pos = self.crossPKBillboard.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
pos = self.XMZZManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
pos = self.sealDemonManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
pos = self.bossAttentionManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
pos = self.bourseItemLastPriceManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
pos = self.bourseRecordManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
pos = self.familyStoreItemManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
pos = self.friendManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
pos = self.enemyManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
pos = self.contactsManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
pos = self.blacklistManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
pos = self.socialInfoManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer))
|
return pos
|
|
def GetPyGameDataManager():
|
## pyÊý¾Ý¿â±íÊý¾Ý¹ÜÀíÆ÷
|
pyGameDataMgr = PyGameData.g_pyGameDataManager
|
if not pyGameDataMgr:
|
pyGameDataMgr = PyGameDataManager()
|
PyGameData.g_pyGameDataManager = pyGameDataMgr
|
return pyGameDataMgr
|
|
def GetCrossPersonalCompensationManager():
|
# ¿ç·þ¸öÈ˲¹³¥Óʼþ¹ÜÀí
|
pyGameDataMgr = GetPyGameDataManager()
|
return pyGameDataMgr.CrossPersonalCompensationManager
|
|
def GetCrossBillboardManager():
|
# ¿ç·þÅÅÐаñ¹ÜÀí
|
pyGameDataMgr = GetPyGameDataManager()
|
return pyGameDataMgr.CrossBillboardManager
|
|
def GetPlayerAssistThanksPyManager():
|
# ÐÖú¸Ðл±í
|
pyGameDataMgr = GetPyGameDataManager()
|
return pyGameDataMgr.PlayerAssistThanksPyManager
|
|
def GetPlayerAssistPyManager():
|
# ÐÖú±í
|
pyGameDataMgr = GetPyGameDataManager()
|
return pyGameDataMgr.PlayerAssistPyManager
|
|
def GetPlayerViewCachePyManager():
|
# ÅÄÂô¼Ç¼±í
|
pyGameDataMgr = GetPyGameDataManager()
|
return pyGameDataMgr.PlayerViewCachePyManager
|
|
def GetAuctionItemManager():
|
## ÅÄÂôÎïÆ·»º´æÊý¾Ý¹ÜÀí
|
pyGameDataMgr = GetPyGameDataManager()
|
return pyGameDataMgr.AuctionItemManager
|
|
def GetAuctionAttentionManager():
|
# ÅÄÂô¼Ç¼±í
|
pyGameDataMgr = GetPyGameDataManager()
|
return pyGameDataMgr.AuctionAttentionManager
|
|
def GetAuctionRecordManager():
|
# ÅÄÂô¼Ç¼±í
|
pyGameDataMgr = GetPyGameDataManager()
|
return pyGameDataMgr.AuctionRecordManager
|
|
# ¿ç·þ¾º¼¼³¡Î´Í¨ÖªÍæ¼ÒµÄ±ÈÈü½á¹û
|
def GetCrossPKUnNotifyOverInfoManager():
|
pyGameDataMgr = GetPyGameDataManager()
|
return pyGameDataMgr.crossPKUnNotifyOverInfo
|
|
# ¿ç·þ¾º¼¼³¡ÅÅÐаñ¹ÜÀí
|
def GetCrossPKBillboardManager():
|
pyGameDataMgr = GetPyGameDataManager()
|
return pyGameDataMgr.crossPKBillboard
|
|
# ÏÉħ֮Õù¹ÜÀí
|
def GetXMZZManager():
|
pyGameDataMgr = GetPyGameDataManager()
|
return pyGameDataMgr.XMZZManager
|
|
# ·âħ̳½á¹û¹ÜÀí
|
def GetSealDemonRecordManager():
|
pyGameDataMgr = GetPyGameDataManager()
|
return pyGameDataMgr.sealDemonManager
|
|
# Boss¹Ø×¢¼Ç¼¹ÜÀí
|
def GetBossAttentionManager():
|
pyGameDataMgr = GetPyGameDataManager()
|
return pyGameDataMgr.bossAttentionManager
|
|
# ½»Ò×ËùÎïÆ·×î½ü³É½»µ¥¼Û¹ÜÀí
|
def GetBourseItemLastPriceManager():
|
pyGameDataMgr = GetPyGameDataManager()
|
return pyGameDataMgr.bourseItemLastPriceManager
|
|
# ½»Ò×Ëù¼Ç¼¹ÜÀí
|
def GetBourseRecordManager():
|
pyGameDataMgr = GetPyGameDataManager()
|
return pyGameDataMgr.bourseRecordManager
|
|
# Õ½Ã˲ֿâÎïÆ·¹ÜÀí
|
def GetFamilyStoreItemManager():
|
pyGameDataMgr = GetPyGameDataManager()
|
return pyGameDataMgr.familyStoreItemManager
|
|
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()
|
return pyGameDataMgr.friendManager
|
|
# Éç½»ÐÅÏ¢¹ÜÀí
|
def GetPersonalSocialManager():
|
pyGameDataMgr = GetPyGameDataManager()
|
return pyGameDataMgr.socialInfoManager
|
|
# ³ðÈËϵͳ
|
def GetEnemyManager():
|
pyGameDataMgr = GetPyGameDataManager()
|
return pyGameDataMgr.enemyManager
|
|
# ×î½üÁªÏµÈËϵͳ
|
def GetContactsManager():
|
pyGameDataMgr = GetPyGameDataManager()
|
return pyGameDataMgr.contactsManager
|
|
# ºÚÃûµ¥ÏµÍ³
|
def GetBlacklistManager():
|
pyGameDataMgr = GetPyGameDataManager()
|
return pyGameDataMgr.blacklistManager
|