hxp
1 天以前 7d5429f0a8a1ddb65f34dd4119aefd5fef3c7bdb
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
õ$±ic@s»ddlZddlZddlZddlZddlZddlZddlZddlZddlZdfd„ƒYZ    e    ƒZ
dfd„ƒYZ dfd„ƒYZ d„Z dS(    iÿÿÿÿNt BillboardDatacBs¬eZd.d„Zd„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 d„Z!d„Z"d „Z#d!„Z$d"„Z%d#„Z&d$„Z'd%„Z(d&„Z)d'„Z*d(„Z+d)„Z,d*„Z-d+„Z.d,„Z/d.d-„Z0RS(/cCs|stjƒn||_dS(N(tDBStructttagDBBillboardt_BillboardData__dbData(tselftdbData((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt__init__ scCs
|jjS(N(Rt BillboardType(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytGetType$scCs||j_dS(N(RR(RtbType((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytSetType%scCs
|jjS(N(Rt GroupValue1(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytGetGroupValue1&scCs||j_dS(N(RR (Rt groupValue1((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytSetGroupValue1'scCs
|jjS(N(Rt GroupValue2(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytGetGroupValue2(scCs||j_dS(N(RR(Rt groupValue2((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytSetGroupValue2)scCs
|jjS(N(RtID(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytGetID*scCs||j_dS(N(RR(RtdataID((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytSetID+scCs
|jjS(N(RtID2(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytGetID2,scCs||j_dS(N(RR(Rtid2((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytSetID2-scCs
|jjS(N(RtName1(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytGetName1.scCs||j_dS(N(RR(Rtname((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytSetName1/scCs
|jjS(N(RtName2(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytGetName20scCs||j_dS(N(RR(Rtname2((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytSetName21scCs
|jjS(N(RtType2(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytGetType22scCs||j_dS(N(RR#(Rttype2((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytSetType23scCs
|jjS(N(RtValue1(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    GetValue14scCs||j_dS(N(RR'(Rtvalue1((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    SetValue15scCs
|jjS(N(RtValue2(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    GetValue26scCs||j_dS(N(RR+(Rtvalue2((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    SetValue27scCs
|jjS(N(RtValue3(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    GetValue38scCs||j_dS(N(RR/(Rtvalue3((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    SetValue39scCs
|jjS(N(RtValue4(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    GetValue4:scCs||j_dS(N(RR3(Rtvalue4((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    SetValue4;scCs
|jjS(N(RtValue5(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    GetValue5<scCs||j_dS(N(RR7(Rtvalue5((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    SetValue5=scCs
|jjS(N(RtValue6(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    GetValue6>scCs||j_dS(N(RR;(Rtvalue6((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    SetValue6?scCs
|jjS(N(RtValue7(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    GetValue7@scCs||j_dS(N(RR?(Rtvalue7((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    SetValue7AscCs
|jjS(N(RtValue8(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    GetValue8BscCs||j_dS(N(RRC(Rtvalue8((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    SetValue8CscCs
|jjS(N(RtCmpValue(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt GetCmpValueDscCs||j_dS(N(RRG(RtcmpValue((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt SetCmpValueEscCs
|jjS(N(Rt    CmpValue2(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt GetCmpValue2FscCs||j_dS(N(RRK(Rt    cmpValue2((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt SetCmpValue2GscCs
|jjS(N(Rt    CmpValue3(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt GetCmpValue3HscCs||j_dS(N(RRO(Rt    cmpValue3((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt SetCmpValue3IscCs
|jjS(N(RtTime(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytGetTimeJscCs||j_dS(N(RRS(RtupdTime((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytSetTimeKscCs
|jjS(N(RtUserData(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt GetUserDataLscCsˆt|tƒsNt|tƒs-t|tƒrEtj|dtƒ}qNd}n|jddƒ}||j_    t
|jj    ƒ|j_ dS(Nt ensure_asciits ( t
isinstancetstrtdicttlisttjsontdumpstFalsetreplaceRRWtlentDataLen(RtuserData((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt SetUserDataMs     cCs |jjƒS(N(Rt    getBuffer(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    GetBufferWscCs |jjƒS(N(Rtclear(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytClearXscCs®tƒ}|j|dkr!|n    |jƒƒ|j|jƒƒ|j|jƒƒ|j|j    ƒƒ|j
|j ƒƒ|j |j ƒƒ|j|jƒƒ|j|jƒƒ|j|jƒƒ|j|jƒƒ|j|jƒƒ|j|jƒƒ|j|jƒƒ|j|jƒƒ|j|jƒƒ|j |j!ƒƒ|j"|j#ƒƒ|j$|j%ƒƒ|j&|j'ƒƒ|j(|j)ƒƒ|j*|j+ƒƒ|S(N(,RR
tNoneRRR RRRRRRRRR"R R&R$R*R(R.R,R2R0R6R4R:R8R>R<RBR@RFRDRfRXRJRHRNRLRRRPRVRT(RtsetTypetcopyData((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytCopyYs.    %N(1t__name__t
__module__RkRRR
R RRRRRRRRRR R"R$R&R(R*R,R.R0R2R4R6R8R:R<R>R@RBRDRFRHRJRLRNRPRRRTRVRXRfRhRjRn(((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyRs\                                                                                                                                                                         
        t    BillboardcBs eZdddd„Zd„Zd„Zd„Zdd„Zd„Zd„Zd    „Z    d
„Z
d „Z d „Z d „Z did„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(icCs^||_||_||_g|_i|_i|_t|_d|_    t|_
g|_ dS(N( t_Billboard__billboardTypet_Billboard__groupValue1t_Billboard__groupValue2t_Billboard__billboardListt_Billboard__idIndexDictt_Billboard__idOrderDictRat_Billboard__sortDelayRkt_Billboard__orderRuleListt_Billboard__orderRuleByLayert_Billboard__layerIDList(Rt billboardTypeR R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyRws                                        cCs|jS(N(Rr(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyR‡scCs|jS(N(Rs(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyR ˆscCs|jS(N(Rt(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyR‰sRZcCsŒ|js dStjd|j|j|jt|jƒ|fƒ|sQtjƒrm|j|rc|ndƒng|_i|_    i|_
dS(NsYBillboard ClearData billboardType=%s,groupValue1=%s,groupValue2=%s,dataCount=%s,drName=%sRj( Rut    GameWorldtLogRrRsRtRct IsCrossServert
SaveDRDataRwRv(RtdrName((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    ClearData‹s        )            cCs¨tjd|j|j|jt|jƒfƒ|jrW|jjdd„dt    ƒn|jjdd„dt    ƒi|_
i|_ t |_ |jr¤|jƒndS(NsE°ñµ¥ÅÅÐò: billboardType=%s,groupValue1=%s,groupValue2=%s,dataCount=%stkeycSs|jƒ |jƒ fS(N(RHRT(tb((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt<lambda>›streversecSs)|jƒ|jƒ|jƒ|jƒ fS(N(RHRLRPRT(R„((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyR…s(R}tDebugLogRrRsRtRcRuRztsorttTrueRwRvRaRxt_Billboard__fixAndFillLayer(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytSortData—s    &                     cCs<tjd|j|j|jt|jƒfƒt|_dS(NsM°ñµ¥ÉèÖÃÑÓ³ÙÅÅÐò: billboardType=%s,groupValue1=%s,groupValue2=%s,dataCount=%s(    R}R‡RrRsRtRcRuR‰Rx(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt SetSortDelay¥s    &    cCs|js dS|jƒtS(N(RxR‹R‰(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt SortDelayDo¬s    
cCsmd}|jƒr|Stƒ}|j|jƒ|j|jƒ|j|jƒ|j    |ƒ|j
|ƒ|S(N( RktIsFullRR
RrRRsRRtRtAddBillboardData(RRtnewData((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytAddNewBillboardData³s       cCsM|jƒrtS|jj|ƒt|jƒd|j|jƒ<t|_tS(Ni(    RŽRaRutappendRcRvRR‰Rx(Rt billboardData((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyR¿s       cCssd}|jƒ||jkr#|S|j|}|t|jƒkrI|S|j|}| rotrotƒ}n|S(sc ¸ù¾ÝID²éѯ°ñµ¥Êý¾Ý
        @param findID: ²éÕÒµÄID
        @return: None or BillboardData
        N(RktGetIDOrderDictRvRcRuRaR(RtfindIDtbillDatatidIndex((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytFindByIDËs
    cCs.|jƒ||jkrdS|j|}|S(s[ ¸ù¾ÝID²éѯËùÔÚ°ñµ¥Ë÷Òý
        @param findID: ²éÕÒµÄID
        @return: -1 or >=0
        iÿÿÿÿ(R”Rv(RR•R—((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt IndexOfByIDÜs
 
 c Cs|jƒt|jƒ}|s#dS|jƒ}tjƒ}d|j|j|jt    |j
ƒd f}d|j |j |j ||f}i|j d6|d6|d6|j d6|j d6}tj||ƒxGt|jƒD]6\}    }
|j|
jƒ|    d    ƒ} i|
jƒd
6| d 6|    d 6|
jƒd 6|
jƒd6|
jƒd6|
jƒd6|
jƒd6|
jƒd6|
jƒd6|
jƒd6|
jƒd6|
jƒd6|
jƒd6|
jƒd6|
jƒd6|
j ƒd6|
j!ƒd6|
j"ƒd6|
j#ƒd6}tj||ƒqÛWdS(Ns%02d%02d%02d%sisBillboard_%s_%s_%s_%s_%sRt    DataCountt addDataDictR RiR#tRanktIndexRRRRR'R+R/R3R7R;R?RCRGRKRORSRW($RRcRuR”R}t GetServerTimethourtminutetsecondR\t microsecondRrRsRttDataRecordPackt SendEventPackt    enumeratetgetRR$RRR R(R,R0R4R8R<R@RDRHRLRPRTRX( Rt    eventNameR›t    dataCountt idOrderDictt
serverTimettimeStrt eventTypeStrtdataDicttindextbDatatrank((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyRۍs0
  ,"*cCs|jS(N(Ru(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytGetBillboardDataListsc Cs®|j s|j r§i|_i|_|jr2|jƒ}d}d}x«|jD] \}}||}|}xt||ƒD]p}|dkr“Pn|j|ƒ}|jƒ|kr¸Pn||d}    |    |j|jƒ<|d8}|d7}q}WqQWx¬t|j    dƒD]#\}
}|
d|j|jƒ<qWq§|j
rW|j ƒs¤|j ƒq¤q§xMt|j    dƒD]6\}
}|
|j|jƒ<|
d|j|jƒ<qjWn|jS(Nii( RwRvRytGetCounttxrangetAtRHRR¥RuRzRRŠ( RtbillboardDataCounttrankPretbillboardIndexR°t needCmpValuetorderCountTotalR®R“t    orderRealtorder((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyR”s:             
 
     cCs|jS(N(Rz(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytIsOrderRuleByLayer+scCs t|_||_|jƒdS(s¿ÉèÖÃÅÅÃû¹æÔòΪ²ã¼¶Ä£Ê½£¬¼´Ò»¸öÃû´ÎÒ»¸ö¿Óλ²ã¼¶£¬¸Ãģʽ֧³Ö»úÆ÷ÈËÌî³äÊý¾Ý
        ¸ÃģʽÏ CmpValue ¹Ì¶¨Îª  MaxCount - Ãû´Î + 1
        @param layerRobotIDList: Ìî³äµÄ»úÆ÷ÈËIDÅÅÃûÁбí
        N(R‰RzR{R‹(RtlayerRobotIDList((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytSetOrderRuleByLayer,s        
cCs ||_dS(N(R{(Rt layerIDList((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytSetLayerIDList5scCs|jS(N(R{(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytGetLayerIDList6sc    Csm|jƒ}t|jƒ}||krE|jjdg||ƒni}xÅt|jƒD]´\}}|jƒ}|jƒ}||krPn|dkr¡q[nxkd|ko»|knr||krô|||<||j|<||j    |<Pn|d7}|j
|ƒq¤Wq[WxSt|jƒD]B\}}|d}|}||krX||}n||j|<q#WdS(Nii( t GetMaxCountRcR{textendR¥RuRRHRwRvRJ(    RtmaxCountt
layerIDCntt orderIDDictR®R“RR»tlayerID((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt__fixAndFillLayer7s6       
 
 
  cCsE||_i|_i|_tjd|j|j|j|fƒdS(NsJÉèÖÃÅÅÃûËùÐèÖµ¹æÔòÁбí: billboardType=%s,groupValue1=%s,groupValue2=%s, %s(RyRwRvR}R~RrRsRt(Rt orderRuleList((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytSetOrderRuleList]s                 cCs t|jƒS(N(RcRu(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyR²gscCs(tjddiƒ}|j|jdƒS(Nt BillboardSetiid(t IpyGameDataPYtGetFuncEvalCfgR¦Rr(Rt maxCountDict((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyRÂhscCs*|j|}| r&tr&tƒ}n|S(N(RuRaR(RR®R–((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyR´ls   cCst|jƒ|jƒkS(N(RcRuRÂ(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyRŽrscCs?|t|jƒkrdS|jj|ƒi|_i|_dS(N(RcRutpopRwRv(RR®((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt DeleteByIndexts         cCs/|j|ƒ}|dkr+|j|ƒndS(Ni(R™RÐ(RRR®((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt
DeleteByID|s (RoRpRRR RR‚R‹RŒRR‘RR˜R™R€R±R”R¼R¾RÀRÁRŠRÊR²RÂR´RŽRÐRÑ(((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyRqts6                                                     #                        &    
                    t BillboardMgrcBsbeZd„Zd„Zddd„Zd„Zd    d    d„Zd    d    d„Zd„Z    d„Z
RS(
cCs i|_dS(N(t_BillboardMgr__billboardDict(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyR…s    cCsRg}xE|jjƒD]4\}}}||kr|j|||fƒqqW|S(N(RÓtkeysR’(RR    t    groupListR|R R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytGetBillboardGroupList‰s
 icCsQ|||f}||jkr.|j|}nt|||ƒ}||j|<|S(s¿ »ñÈ¡ÅÅÐаñ
        @param billboardType: ÅÅÐаñÀàÐÍ
        @param groupValue1: ·Ö×éÖµ1
        @param groupValue2: ·Ö×éÖµ2£¬Óë·Ö×éÖµ1×éºÏ¹éΪͬ×é°ñµ¥Êý¾Ý
        @return: Billboard
        (RÓRq(RR|R RRƒt billboardObj((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt GetBillboard’s  cCsAx:|jjƒD])}|d|kr|jj|ƒqqWdS(Ni(RÓRÔRÏ(RR|Rƒ((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytRemoveBillboard¡sc    CsÊg}xŠ|jjƒD]y\}}}||kr7qn|dkrU||krUqn|dkrs||krsqn|||f}|j|ƒqWx0|D](\}}}|j|||ƒjƒqšWdS(s!Çå³ýij¸öÀàÐ͵İñµ¥ËùÓÐÊý¾Ý£¬¿ÉÖ¸¶¨¹ýÂËgroupValue£¬ÓÐÁ÷Ïò¼Ç¼
        @param groupValue1: ²»ÎªNoneʱÑéÖ¤ groupValue1 ÊÇ·ñÏàͬ
        @param groupValue2: ²»ÎªNoneʱÑéÖ¤ groupValue2 ÊÇ·ñÏàͬ
        Èç¹ûgroupValue1 groupValue2 ¶¼´«ÈëNone£¬Ï൱ÓÚÇå¿Õ billboardType ÀàÐ͵ÄËùÓаñµ¥Êý¾Ý
        N(RÓRÔRkR’RØR‚(    RR|R Rt    clearListR    tgValue1tgValue2Rƒ((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytClearBillboard¨s c Cs|dkr+|j|ƒ|j|ƒ}n'|dkr=|nd}|||g}xª|D]¢\}}}|j|||ƒ}|j|||ƒ}tjd||||fƒ|jƒx?t|jƒƒD]+}    |j    |    ƒ}
|j
|
j |ƒƒqÌWqYWdS(s^½«Ä³¸öÀàÐ͵İñµ¥ÍêÈ«¿½±´µ½ÆäËû°ñµ¥ - Ò»°ãÓÃÓÚ±¸·Ý¡¢×ªÒÆÊý¾Ý
        @param fromBillboardType: Ô´°ñµ¥ÀàÐÍ
        @param toBillboardType: Ä¿±ê°ñµ¥ÀàÐÍ
        @param groupValue1: Ä¬ÈÏΪNone-¿½±´¸ÃÀàÐÍËùÓаñµ¥£¬´óÓÚµÈÓÚ0ʱ-½ö¿½±´¸ÃÀàÐÍϵÄÖ¸¶¨°ñµ¥
        @param groupValue2: Ä¬ÈÏΪNone-¿½±´¸ÃÀàÐÍËùÓаñµ¥£¬´óÓÚµÈÓÚ0ʱ-½ö¿½±´¸ÃÀàÐÍϵÄÖ¸¶¨°ñµ¥
        isPCopyBillboard: billboardType=%s,toBillboardType=%s,groupValue1=%s,groupValue2=%sN( RkRÙRÖRØR}R~R‚trangeR²R´RRn( RtfromBillboardTypettoBillboardTypeR RRÕR|tfrbillboardObjttoBillboardObjR®tfrbillboardData((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt CopyBillboard½s      
c
CsÁd}d}d}x{|jjƒD]j\}}}|j|||ƒ}xCt|jƒƒD]/}|j|ƒ}    |d7}||    jƒ7}qYWq"Wtjd|t    |ƒfƒt
j ||ƒ|S(NRZiis!Save DBBillboard count :%s len=%s( RÓRÔRØR³R²R´RhR}R~RctCommFunct
WriteDWORD(
RtsavaDatatcntDatatcntR|R RR×tiR“((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt GetSaveDataÙs
c Cs
||krdStj||ƒ\}}tjd|ƒxˆt|ƒD]z}tjƒ}|jƒ||j|||ƒ7}|j    |j
|j }}}    |j |||    ƒ}
|
j t|ƒƒqFWx?|jjƒD].\}}}    |j |||    ƒ}
|
jƒqÔW|S(NsLoad DBBillboard count :%s(Råt    ReadDWORDR}R~R³RRRitreadDataRR RRØRRRÓRÔR‹( RtdatastpostdataslenRét_RR|R RR×((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytLoadPyGameDataès  
N( RoRpRRÖRØRÙRkRÝRäRëRò(((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyR҂s                    cCsltjƒ}xYtjD]N}|j|ƒ}x6|D].\}}}|j|||ƒ}|jƒq2WqWdS(N(t    DBDataMgrtGetBillboardMgrt ShareDefinetBillboardTypeAllListRÖRØR(t billboardMgrR|RÕR RR×((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytOnMinutes (RR}RõR£RÌRóRåR_ttimeRt TempBillDataRqRÒRø(((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt<module>s         U    ÿ~