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
åUghc@s¦ddlZddlZddlZddlZddlZddlZddlZddlZdd    d„ƒYZdd
d„ƒYZ    dd d„ƒ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,d+„Z.RS(-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.pytGetName2/scCs||j_dS(N(RR(Rtname2((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytSetName20scCs
|jjS(N(RtType2(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytGetType21scCs||j_dS(N(RR#(Rttype2((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytSetType22scCs
|jjS(N(RtValue1(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    GetValue13scCs||j_dS(N(RR'(Rtvalue1((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    SetValue14scCs
|jjS(N(RtValue2(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    GetValue25scCs||j_dS(N(RR+(Rtvalue2((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    SetValue26scCs
|jjS(N(RtValue3(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    GetValue37scCs||j_dS(N(RR/(Rtvalue3((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    SetValue38scCs
|jjS(N(RtValue4(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    GetValue49scCs||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    SetValue7@scCs
|jjS(N(RtValue8(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    GetValue8AscCs||j_dS(N(RRC(Rtvalue8((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    SetValue8BscCs
|jjS(N(RtCmpValue(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt GetCmpValueCscCs||j_dS(N(RRG(RtcmpValue((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt SetCmpValueDscCs
|jjS(N(Rt    CmpValue2(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt GetCmpValue2EscCs||j_dS(N(RRK(Rt    cmpValue2((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt SetCmpValue2FscCs
|jjS(N(Rt    CmpValue3(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt GetCmpValue3GscCs||j_dS(N(RRO(Rt    cmpValue3((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt SetCmpValue3HscCs
|jjS(N(RtUserData(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt GetUserDataIscCsˆt|tƒsNt|tƒs-t|tƒrEtj|dtƒ}qNd}n|jddƒ}||j_    t
|jj    ƒ|j_ dS(Nt ensure_asciits ( t
isinstancetstrtdicttlisttjsontdumpstFalsetreplaceRRStlentDataLen(RtuserData((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt SetUserDataJs     cCs |jjƒS(N(Rt    getBuffer(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    GetBufferTscCs |jjƒS(N(Rtclear(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytClearUscCs›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)ƒƒ|S(N(*RR
tNoneRRR RRRRRRRRR"R R&R$R*R(R.R,R2R0R6R4R:R8R>R<RBR@RFRDRbRTRJRHRNRLRRRP(RtsetTypetcopyData((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytCopyVs,    %N(/t__name__t
__module__RgRRR
R RRRRRRRRRR R"R$R&R(R*R,R.R0R2R4R6R8R:R<R>R@RBRDRFRHRJRLRNRPRRRTRbRdRfRj(((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyRsX                                                                                                                                                                 
        t    BillboardcBsÝeZdddd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d    „Z
d
„Z d „Z d „Z d id„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(icCsL||_||_||_g|_i|_i|_d|_t|_    dS(N(
t_Billboard__billboardTypet_Billboard__groupValue1t_Billboard__groupValue2t_Billboard__billboardListt_Billboard__idIndexDictt_Billboard__idOrderDictRgt_Billboard__orderRuleListR]t_Billboard__sortDelay(Rt billboardTypeR R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyRqs                                cCs|jS(N(Rn(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyR|scCs|jS(N(Ro(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyR }scCs|jS(N(Rp(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyR~scCsw|js dStjd|j|j|jt|jƒfƒtjƒrX|jdƒng|_i|_    i|_
dS(NsOBillboard ClearData billboardType=%s,groupValue1=%s,groupValue2=%s,dataCount=%sRf( Rqt    GameWorldtLogRnRoRpR_t IsCrossServert
SaveDRDataRsRr(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt    ClearData€s        &             cCsjtjd|j|j|jt|jƒfƒ|jjdd„dtƒi|_    i|_
t |_ dS(NsE°ñµ¥ÅÅÐò: billboardType=%s,groupValue1=%s,groupValue2=%s,dataCount=%stkeycSs|jƒ|jƒ|jƒfS(N(RHRLRP(tb((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt<lambda>streverse( RwtDebugLogRnRoRpR_RqtsorttTrueRsRrR]Ru(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(    RwR€RnRoRpR_RqR‚Ru(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt SetSortDelay•s    &    cCs|js dS|jƒdS(N(RuRƒ(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( RgtIsFullRR
RnRRoRRpRtAddBillboardData(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†R]RqtappendR_RrRR‚Ru(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(RgtGetIDOrderDictRrR_RqR]R(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ŒRr(RRR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt IndexOfByIDÌs
 
 RVc 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||ƒx:t|jƒD])\}    }
|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}tj||ƒqÛWdS(Ns%02d%02d%02d%sisBillboard_%s_%s_%s_%s_%sRt    DataCountt addDataDictR RiR#tRanktIndexRRRRR'R+R/R3R7R;R?RCRGRKRORS(#R…R_RqRŒRwt GetServerTimethourtminutetsecondRXt microsecondRnRoRptDataRecordPackt SendEventPackt    enumeratetgetRR$RRR R(R,R0R4R8R<R@RDRHRLRPRT( Rt    eventNameR“t    dataCountt idOrderDictt
serverTimettimeStrt eventTypeStrtdataDicttindextbDatatrank((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyRz×s0
  ,"cCs|jS(N(Rq(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytGetBillboardDataList÷sc 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‚xMt|j    dƒD]6\}
}|
|j|jƒ<|
d|j|jƒ<qEWn|jS(Nii(
RsRrRttGetCounttxrangetAtRHRRRq( RtbillboardDataCounttrankPretbillboardIndexR¨t needCmpValuetorderCountTotalR¦R‹t    orderRealtorder((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyRŒøs4             
 
cCsE||_i|_i|_tjd|j|j|j|fƒdS(NsJÉèÖÃÅÅÃûËùÐèÖµ¹æÔòÁбí: billboardType=%s,groupValue1=%s,groupValue2=%s, %s(RtRsRrRwRxRnRoRp(Rt orderRuleList((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytSetOrderRuleLists                 cCs t|jƒS(N(R_Rq(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyRª!scCs(tjddiƒ}|j|jdƒS(Nt BillboardSetiid(t IpyGameDataPYtGetFuncEvalCfgRžRn(Rt maxCountDict((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt GetMaxCount"scCs*|j|}| r&tr&tƒ}n|S(N(RqR]R(RR¦RŽ((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyR¬&s   cCst|jƒ|jƒkS(N(R_RqRº(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyR†,scCs?|t|jƒkrdS|jj|ƒi|_i|_dS(N(R_RqtpopRsRr(RR¦((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt DeleteByIndex.s         cCs/|j|ƒ}|dkr+|j|ƒndS(Ni(R‘R¼(RRR¦((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt
DeleteByID6s (RkRlRRR RR{RƒR„R…R‰R‡RR‘RzR©RŒRµRªRºR¬R†R¼R½(((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyRmns,                                                                  
                    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    groupListRvR R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytGetBillboardGroupListCs
 icCsQ|||f}||jkr.|j|}nt|||ƒ}||j|<|S(s¿ »ñÈ¡ÅÅÐаñ
        @param billboardType: ÅÅÐаñÀàÐÍ
        @param groupValue1: ·Ö×éÖµ1
        @param groupValue2: ·Ö×éÖµ2£¬Óë·Ö×éÖµ1×éºÏ¹éΪͬ×é°ñµ¥Êý¾Ý
        @return: Billboard
        (R¿Rm(RRvR RR|t billboardObj((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt GetBillboardLs  cCsAx:|jjƒD])}|d|kr|jj|ƒqqWdS(Ni(R¿RÀR»(RRvR|((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ÀRgRŠRÄR{(    RRvR Rt    clearListR    tgValue1tgValue2R|((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytClearBillboardbs 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( RgRÅRÂRÄRwRxR{trangeRªR¬R‡Rj( RtfromBillboardTypettoBillboardTypeR RRÁRvtfrbillboardObjttoBillboardObjR¦tfrbillboardData((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt CopyBillboardws      
c
CsÁd}d}d}x{|jjƒD]j\}}}|j|||ƒ}xCt|jƒƒD]/}|j|ƒ}    |d7}||    jƒ7}qYWq"Wtjd|t    |ƒfƒt
j ||ƒ|S(NRViis!Save DBBillboard count :%s len=%s( R¿RÀRÄR«RªR¬RdRwRxR_tCommFunct
WriteDWORD(
RtsavaDatatcntDatatcntRvR 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    ReadDWORDRwRxR«RRRetreadDataRR RRÄR‡RR¿RÀRƒ( RtdatastpostdataslenRÕt_RRvR RRÃ((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytLoadPyGameData¢s  
N( RkRlRRÂRÄRÅRgRÉ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 billboardMgrRvRÁR RRÃ((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pytOnMinuteºs (((( RRwRáR›R·RßRÑR[RRmR¾Rä(((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBBillboard.pyt<module>s        RÎ~