#!/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 PlayerFamilyStore import PlayerBourse import GameWorldBoss import PlayerSealDemon import PlayerXMZZ import binascii import PyGameData import CrossRealmPK def GetSavePyData(): result = PyGameData.g_pyGameDataManager.GetSaveData() GameWorld.DebugLog("GetSavePyData!! id = %s-%s"%(id(PyGameData.g_pyGameDataManager), 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): PyGameData.g_pyGameDataManager = PyGameDataManager() GameWorld.Log("LoadPyGameData!!id = %s %s"%(id(PyGameData.g_pyGameDataManager), len(gameBuffer))) return PyGameData.g_pyGameDataManager.LoadGameData(gameBuffer, pos) # ¸öÈËÉç½»Ïà¹Ø±í # ºÃÓÑ±í£¬³ðÈË±í£¬×î½üÁªÏµÈË£¬ºÚÃûµ¥£¬ËÄÕÅ±í¹«ÓõÄÉç½»ÐÅÏ¢±í class PyGameDataManager(object): def __init__(self): 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.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.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 GetCrossPKUnNotifyOverInfoManager(): return PyGameData.g_pyGameDataManager.crossPKUnNotifyOverInfo # ¿ç·þ¾º¼¼³¡ÅÅÐаñ¹ÜÀí def GetCrossPKBillboardManager(): return PyGameData.g_pyGameDataManager.crossPKBillboard # ÏÉħ֮Õù¹ÜÀí def GetXMZZManager(): return PyGameData.g_pyGameDataManager.XMZZManager # ·âħ̳½á¹û¹ÜÀí def GetSealDemonRecordManager(): return PyGameData.g_pyGameDataManager.sealDemonManager # Boss¹Ø×¢¼Ç¼¹ÜÀí def GetBossAttentionManager(): return PyGameData.g_pyGameDataManager.bossAttentionManager # ½»Ò×ËùÎïÆ·×î½ü³É½»µ¥¼Û¹ÜÀí def GetBourseItemLastPriceManager(): return PyGameData.g_pyGameDataManager.bourseItemLastPriceManager # ½»Ò×Ëù¼Ç¼¹ÜÀí def GetBourseRecordManager(): return PyGameData.g_pyGameDataManager.bourseRecordManager # Õ½Ã˲ֿâÎïÆ·¹ÜÀí def GetFamilyStoreItemManager(): return PyGameData.g_pyGameDataManager.familyStoreItemManager # ºÃÓÑϵͳ def GetFriendManager(): return PyGameData.g_pyGameDataManager.friendManager # Éç½»ÐÅÏ¢¹ÜÀí def GetPersonalSocialManager(): return PyGameData.g_pyGameDataManager.socialInfoManager # ³ðÈËϵͳ def GetEnemyManager(): return PyGameData.g_pyGameDataManager.enemyManager # ×î½üÁªÏµÈËϵͳ def GetContactsManager(): return PyGameData.g_pyGameDataManager.contactsManager # ºÚÃûµ¥ÏµÍ³ def GetBlacklistManager(): return PyGameData.g_pyGameDataManager.blacklistManager #=============================================================================== # PyGameData.g_pyGameDataManager = PyGameDataManager() # # PyGameData.g_pyGameDataManager.GetFriendManager().AddFriendBoth(3, 4) # PyGameData.g_pyGameDataManager.GetFriendManager().AddFriendBoth(3, 5) # PyGameData.g_pyGameDataManager.GetFriendManager().AddFriendBoth(3, 6) # PyGameData.g_pyGameDataManager.GetFriendManager().AddFriendBoth(6, 4) #===============================================================================