hxp
2018-12-21 f2c27280e1fae389220c22fd1ca3963c64743472
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#!/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)
#===============================================================================