|  |  |  | 
|---|
|  |  |  | import PlayerDBGSEvent | 
|---|
|  |  |  | import ChConfig | 
|---|
|  |  |  | import IpyGameDataPY | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import datetime | 
|---|
|  |  |  | #------------------------------------------------------------------------------ | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return worldLV | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetWorldLVListByTime(startTime, day=1): | 
|---|
|  |  |  | ##根据时间计算多个世界等级 | 
|---|
|  |  |  | initOpenServerTime = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_InitOpenServerTime) | 
|---|
|  |  |  | if initOpenServerTime <= 0: | 
|---|
|  |  |  | return [] | 
|---|
|  |  |  | worldlvList = [] | 
|---|
|  |  |  | diffSecond = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_WorldLVExtraTime) #额外时间参数 | 
|---|
|  |  |  | initOpenServerTime = GameWorld.ChangeTimeNumToDatetime(initOpenServerTime, ChConfig.TYPE_Time_Format) | 
|---|
|  |  |  | if startTime < initOpenServerTime: | 
|---|
|  |  |  | return [] | 
|---|
|  |  |  | ipyMgr = IpyGameDataPY.IPY_Data() | 
|---|
|  |  |  | for dayIndex in xrange(day): | 
|---|
|  |  |  | nextTime = startTime + datetime.timedelta(days=dayIndex) | 
|---|
|  |  |  | pastTimeDelta = nextTime - initOpenServerTime | 
|---|
|  |  |  | pastSeconds = max(0, pastTimeDelta.days * 24 * 60 * 60 + pastTimeDelta.seconds + diffSecond) | 
|---|
|  |  |  | maxCnt = ipyMgr.GetWorldLVCount() | 
|---|
|  |  |  | worldLV = 0 | 
|---|
|  |  |  | for i in xrange(maxCnt): | 
|---|
|  |  |  | curIpyData = ipyMgr.GetWorldLVByIndex(i) | 
|---|
|  |  |  | if i == maxCnt - 1: | 
|---|
|  |  |  | worldLV = curIpyData.GetWorldLV() | 
|---|
|  |  |  | else: | 
|---|
|  |  |  | nextIpyData = ipyMgr.GetWorldLVByIndex(i+1) | 
|---|
|  |  |  | if curIpyData.GetOpenServerSecond() <= pastSeconds < nextIpyData.GetOpenServerSecond(): | 
|---|
|  |  |  | worldLV = curIpyData.GetWorldLV() | 
|---|
|  |  |  | break | 
|---|
|  |  |  | worldlvList.append(worldLV) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | GameWorld.DebugLog('    GetWorldLVByTime startTime=%s,day=%s,worldlvList=%s'%(str(startTime), day, worldlvList)) | 
|---|
|  |  |  | return worldlvList | 
|---|