少年修仙传客户端代码仓库
client_linchunjie
2019-04-01 e736ca90bf8cb8b47a4ad86312e9cf1cda1c9713
3335 添加活动时间接口
1个文件已修改
56 ■■■■■ 已修改文件
System/DailyQuest/DailyQuestData.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DailyQuest/DailyQuestData.cs
@@ -451,6 +451,62 @@
    }
    public bool TryGetNextOpenTime(out HourMinute _hourMinute)
    {
        _hourMinute = default(HourMinute);
        var openDayWeek = (int)TimeUtility.openServerDayOfWeek;
        var dayIndex = TimeUtility.OpenDay + 1;
        var maxSpecialDays = 15 - (openDayWeek == 0 ? 7 : openDayWeek);
        var hour = TimeUtility.ServerNow.Hour;
        var minute = TimeUtility.ServerNow.Minute;
        var mixDayIndex = 0;
        for (int i = 0; i <= 7; i++)//一周内必须有活动
        {
            List<HourMinute> hourminutes = null;
            var days = dayIndex + i;
            if (IsInMixServerCustomDay(days, out mixDayIndex))
            {
                if (!mixServerOpenTimes.ContainsKey(mixDayIndex))
                {
                    continue;
                }
                hourminutes = mixServerOpenTimes[mixDayIndex];
            }
            else if (days <= maxSpecialDays)
            {
                if (!specialOpenTimes.ContainsKey(openDayWeek)
                || !specialOpenTimes[openDayWeek].ContainsKey(days))
                {
                    continue;
                }
                hourminutes = specialOpenTimes[openDayWeek][days];
            }
            else
            {
                var dayOfWeek = (int)TimeUtility.ServerNow.AddTicks(i * TimeSpan.TicksPerDay).DayOfWeek;
                if (!openTimes.ContainsKey(dayOfWeek))
                {
                    continue;
                }
                hourminutes = openTimes[dayOfWeek];
            }
            if (hourminutes != null)
            {
                foreach (var hourMinute in hourminutes)
                {
                    if (days == dayIndex && hourMinute.AfterOpenTime(hour, minute))
                    {
                        continue;
                    }
                    _hourMinute = hourMinute;
                    return true;
                }
            }
        }
        return false;
    }
    bool IsInMixServerCustomDay(int day, out int index)
    {
        index = -1;