hxp
2 天以前 f208dfcb9b5f19d7be220e158d41facf1f39e841
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
ö5hc@s˜ddlZddlZddlZddlZddlZddlZdd
d„ƒYZdd d„ƒYZdd d„ƒYZdd d    „ƒYZ    dS(iÿÿÿÿNt GameRecDatacBseZded„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d„Z d„Z d    „Z d
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z RS(cCs@|stjƒ}n||_tj|jdd|ƒ|_dS(NtUserDatat UserDataLen(tDBStructt tagDBGameRect_GameRecData__dbDatatDBCommt UserDataDictt_GameRecData__dataDict(tselftdbDatat
dataToJson((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt__init__s
    cCs
|jjS(N(RtRecType(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt
GetRecType"scCs||j_dS(N(RR (R    trecType((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt
SetRecType#scCs
|jjS(N(RtRecID(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytGetRecID$scCs||j_dS(N(RR(R    trecID((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytSetRecID%scCs
|jjS(N(RtTime(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytGetTime&scCs||j_dS(N(RR(R    tsTime((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytSetTime'scCs
|jjS(N(RtValue1(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    GetValue1(scCs||j_dS(N(RR(R    tvalue1((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    SetValue1)scCs
|jjS(N(RtValue2(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    GetValue2*scCs||j_dS(N(RR(R    tvalue2((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    SetValue2+scCs
|jjS(N(RtValue3(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    GetValue3,scCs||j_dS(N(RR!(R    tvalue3((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    SetValue3-scCs
|jjS(N(RtValue4(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    GetValue4.scCs||j_dS(N(RR%(R    tvalue4((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    SetValue4/scCs
|jjS(N(RtValue5(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    GetValue50scCs||j_dS(N(RR)(R    tvalue5((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    SetValue51scCs
|jjS(N(RtValue6(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    GetValue62scCs||j_dS(N(RR-(R    tvalue6((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    SetValue63scCs
|jjS(N(RtValue7(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    GetValue74scCs||j_dS(N(RR1(R    tvalue7((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    SetValue75scCs
|jjS(N(RtValue8(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    GetValue86scCs||j_dS(N(RR5(R    tvalue8((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    SetValue87scCs |jjƒS(N(RtGetData(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt GetUserDict8scCs |jjƒS(N(RtToString(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt GetUserData9scCs|jj|ƒdS(N(RtSetData(R    tvalue((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt SetUserData:scCs|jjƒ|jjƒS(N(RR;Rt    getBuffer(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    GetBuffer;s cCs}|s
tSxlt|dƒD][\}}|dkr8qnt|d|ƒsOtSt|d|ƒƒ}||krtSqWtS(Nis
GetValue%s(tFalset    enumeratetNonethasattrtgetattrtTrue(R    t    valueListtiR>tcurValue((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt IsMatchValue?s  cCs£|jƒ}|tjkrdStj|}|s>dg}nd}xX|D]P}t|d|ƒshdS|r{|d7}n|tt|d|ƒƒƒ7}qKW|S(Ntis
GetValue%st_(Rt ShareDefinetDef_GameRecValueKeyDictREtstrRF(R    Rt valueNumListtkeyStrtnum((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytGetValueIndexKeyNs     $N(!t__name__t
__module__RDRBR RRRRRRRRRR R"R$R&R(R*R,R.R0R2R4R6R8R:R<R?RARKRT(((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRs:                                                                                                            t GameRecIDMgrcBs’eZd„Zd„Zd„Zd„Zd„Zdd„Zd„Z    d„Z
e d„Z e d    „Z d
„Zd „Zd „Ze d „ZRS(cCs(||_||_g|_i|_dS(N(t_GameRecIDMgr__recTypet_GameRecIDMgr__recIDt_GameRecIDMgr__dataListt_GameRecIDMgr__valueIndexDict(R    RR((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyR bs
                cCst}|jdkrt}nt||ƒ}|jj|ƒ|jƒ}|r‹||jkrng|j|<n|j|}|j|ƒn|S(s³õʼ»¯¹¦ÄÜÊý¾ÝʵÀý£¬´´½¨»ò¼ÓÔØÊý¾ÝʱͨÓ㬹¦ÄÜÒ»°ã²»µ÷ÓÃ
        @param dbData: ÊµÀý¶ÔÓ¦°ó¶¨µÄdbData
        @return: ³É¹¦·µ»ØÊµÀý¶ÔÏó£¬Ê§°Ü·µ»ØNone
        ((RBR RGRRZtappendRTR[(R    R
R trecDataRRtrecIndexDataList((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytInitRecDataInstanceis      cCs|jS(N(RX(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyR~scCs|jS(N(RY(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRscCs |jjdd„dtƒdS(NtkeycSs
|jƒS(N(R(tr((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt<lambda>‚streverse(RZtsortRB(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt
SortByTimescCs­t}d}|dkr!d}n|ra|jƒ|kra|sC|S|j|jƒ|dƒntjƒ}|j|_|j|_    t
t j ƒƒ|_ |j |ƒ}|S(s‹Ìí¼Ó¼Ç¼
        @param maxCount: ¿É´«ÈëÓÉÅäÖþö¶¨µÄ×î´óÌõÊý£¬Èç¹ûΪNoneÔò½øÒ»²½È¡³ÌÐòĬÈÏÉ趨µÄ×î´óÌõÊý£¬¶¼Ã»ÅäÖõϰĬÈϲ»ÏÞÌõÊý
        iiN(RGRDtGetCounttDelCountRRRXR RYRtintttimeRR_(R    tmaxCountt    fullClearR]R
((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt
AddRecData…s        cCs t|jƒS(N(tlenRZ(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRf¢scCsQd}d|ko&t|jƒknr;|j|}ntrMtƒ}n|S(Ni(RDRmRZRBR(R    tindexR]((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytAt£s % cCs8d}|jr|jd}n|r4|jƒ}n|S(Ni(RDRZRl(R    tisAddNewR]((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt GetOneRecData«s     cCsÒ|jtjkrˆd}x1|D])}|r8|d7}n|t|ƒ7}qW||jkr_dS|j|}|svdS|r„|dS|Sg}x=|jD]2}|j|ƒs³q˜n|r½|S|j|ƒq˜W|S(sÊ»ñȡƥÅävalueÖµµÄ¼Ç¼
        @param valueList: [value1, value2, ...] valueΪNoneʱ²»ÅжϸÃÖµ
        @param findone: ÊÇ·ñֻƥÅäÒ»ÌõÂú×ãµÄ¼Ç¼
        @return: recData or [recData, ...] or None
        RLRMNi(RXRNRORPR[RZRKR\(R    RHtfindoneRRtvR^tmatchRecDataListR]((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytGetRecDataByValuesµs(   cCs,|jƒ}|sdSg|_i|_|S(Ni(RfRZR[(R    t    dataCount((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt
DelAllDataÔs          cCs^|s
dSd}xG|jddd…D]/}|j|ƒr'|j|ƒ|d7}q'q'W|S(Niiÿÿÿÿi(RZRKt
DelRecData(R    RHtdelCountR]((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytDelDataByValueÞs cCsw|s
dS||jkr,|jj|ƒn|jƒ}||jkrs|j|}||krs|j|ƒqsndS(Nii(RZtremoveRTR[(R    R]RRR^((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRxïs   cCsG|s|j| n|j| d}x|D]}|j|ƒq,WdS(Ni(RZRx(R    RyRct delDataListR]((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRgÿs% N(RURVR R_RRReRDRlRfRoRBRqRuRwRzRxRg(((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRW_s                             
    
        tGameRecTypeMgrcBsSeZd„Zd„Zd„Zd„Zed„Zd„Zd„Z    d„Z
RS(cCs||_i|_dS(N(t_GameRecTypeMgr__recTypet_GameRecTypeMgr__recIDDict(R    R((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyR s        cCs|jS(N(R~(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRscCsHd}||jkr%|j|}nt|j|ƒ}||j|<|S(N(RDRRWR~(R    RtrecIDMgr((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt GetRecIDMgrs  cCs |jjƒS(N(Rtkeys(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt GetRecIDListscCswg}xj|jjƒD]Y}|j|ƒ}|j||ƒ}|sIqn|rS|St|tƒr||7}qqW|S(N(RR‚RRut
isinstancetlist(R    RHRrRtRR€tret((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRuscCs7d}x*|jjƒD]}||j|ƒ7}qW|S(Ni(RR‚tDelDataByRecID(R    RyR((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRw.scCs|j|ƒjƒS(N(RRw(R    R((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyR‡4scCsFd}x9|jjƒD](}|j|ƒ}||j|ƒ7}qW|S(Ni(RR‚RRz(R    RHRyRR€((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRz7s
( RURVR RRRƒRBRuRwR‡Rz(((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyR}    s                             t
GameRecMgrcBs5eZd„Zd„Zd„Zd„Zd„ZRS(cCs i|_dS(N(t_GameRecMgr__recTypeDict(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyR Bs    cCsBd}||jkr%|j|}nt|ƒ}||j|<|S(N(RDR‰R}(R    Rt
recTypeMgr((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt GetRecTypeMgrFs   cCsA|j|ƒ}|j|ƒ}| r=tr=t||ƒ}n|S(N(R‹RRBRW(R    RRRŠt recTypeIDMgr((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytGetRecTypeIDMgrOs
 c
CsØd}d}d}x’|jjƒD]}|j|ƒ}xi|jƒD][}|j|ƒ}xCt|jƒƒD]/}|j|ƒ}    ||    jƒ7}|d7}qlWqDWq"Wt    j
d|t |ƒfƒt j ||ƒ|S(NRLiisSave DBGameRec count :%s len=%s(R‰R‚R‹RƒRtrangeRfRoRAt    GameWorldtLogRmtCommFunct
WriteDWORD(
R    tsavaDatatcntDatatcntRRŠRRŒRnR]((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt GetSaveDataWsc Csótj||ƒ\}}tjd|ƒxjt|ƒD]\}tjƒ}||j|||ƒ7}|j}|j    }|j
||ƒ}    |    j |ƒq6WxV|j j ƒD]E}|j|ƒ}
x-|
jƒD]}|
j|ƒ}    |    jƒqÈWq¦W|S(NsLoad DBGameRec count :%s(R‘t    ReadDWORDRRtxrangeRRtreadDataR RRR_R‰R‚R‹RƒRRe( R    tdatastpostdataslenR•RMR
RRRŒRŠ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytLoadPyGameDatais         (RURVR R‹RR–R(((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRˆ?s
                    (((((
RRRNR‘RRiRRWR}Rˆ(((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt<module>s      Eª6