| | |
| | | curDateTime = GameWorld.GetServerTime()
|
| | | curDateTime = datetime.datetime.strptime("%d-%d-%d %d:%d:00" % (curDateTime.year, curDateTime.month, curDateTime.day,
|
| | | curDateTime.hour, curDateTime.minute), ChConfig.TYPE_Time_Format)
|
| | | |
| | | actChangeList = []
|
| | | sysnCrossActInfoDict = {}
|
| | | for actName in ShareDefine.CrossActNameList:
|
| | | if actName not in actTimeInfoDict or actName not in crossActInfoDict or actName not in actCfgIDInfoDict:
|
| | |
| | | if actName == ShareDefine.CrossActName_CTGBillboard:
|
| | | CrossActCTGBillboard.OnActIDChange(cfgID, dbTemplateID, state)
|
| | |
|
| | | elif actName == ShareDefine.CrossActName_LuckyCloudBuy:
|
| | | import CrossLuckyCloudBuy
|
| | | CrossLuckyCloudBuy.OnLuckyCloudBuyReset(ipyData, state)
|
| | | else:
|
| | | actChangeList.append([actName, ipyData, state, cfgID, groupName, zoneID, dbActID, actID, forceReset, dbTemplateID])
|
| | |
|
| | | # 非活动中的处理完关闭后,最后删除
|
| | | if not state:
|
| | |
| | | # 同步子服务器
|
| | | serverGroupIDList = []
|
| | | CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_CrossActInfo, sysnCrossActInfoDict, serverGroupIDList)
|
| | | |
| | | # 需要等活动等同步到子服后才处理以下逻辑,不然可能导致子服没有活动时间明细引起活动异常
|
| | | for changeInfo in actChangeList:
|
| | | actName, ipyData, state, cfgID, groupName, zoneID, dbActID, actID, forceReset, dbTemplateID = changeInfo
|
| | | GameWorld.Log(" 活动ID变更: actName=%s,cfgID=%s,groupName=%s,zoneID=%s,dbActID=%s -> actID=%s,forceReset=%s,dbTemplateID=%s" |
| | | % (actName, cfgID, groupName, zoneID, dbActID, actID, forceReset, dbTemplateID))
|
| | | |
| | | if actName == ShareDefine.CrossActName_LuckyCloudBuy:
|
| | | import CrossLuckyCloudBuy
|
| | | CrossLuckyCloudBuy.OnLuckyCloudBuyReset(ipyData, state)
|
| | | return
|
| | |
|
| | | def Sync_CrossActInfoToClientServer(serverGroupID=0):
|