| #!/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  | 
|   | 
| 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.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.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.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 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)  | 
| #===============================================================================  |