少年修仙传客户端代码仓库
4798 【前端】【1.3】日常界面-限时活动界面今日活动开启时间色值修改,新增已错过活动
1个文件已修改
73 ■■■■ 已修改文件
System/DailyQuest/DailyQuestModel.cs 73 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DailyQuest/DailyQuestModel.cs
@@ -690,56 +690,57 @@
            var unLock1 = IsDailyQuestUnLock(_lhs);
            var unLock2 = IsDailyQuestUnLock(_rhs);
            DailyQuestOpenTime openTime1;
            TryGetOpenTime(_lhs, out openTime1);
            DailyQuestOpenTime openTime2;
            TryGetOpenTime(_rhs, out openTime2);
            var dayOfWeek = (int)TimeUtility.ServerNow.DayOfWeek;
            var isActiveDay1 = openTime1.always || openTime1.GetHourMinuteByWeek(dayOfWeek) != null;
            var isActiveDay2 = openTime2.always || openTime2.GetHourMinuteByWeek(dayOfWeek) != null;
            var inOpenTime1 = openTime1.InOpenTime();
            var inOpenTime2 = openTime2.InOpenTime();
            var serverHour = TimeUtility.ServerNow.Hour;
            var serverMinute = TimeUtility.ServerNow.Minute;
            HourMinute hourMinute1;
            var miss1 = openTime1.TryGetTodayNearestOpenTime(out hourMinute1) && hourMinute1.AfterOpenTime(serverHour, serverMinute);
            HourMinute hourMinute2;
            var miss2 = openTime2.TryGetTodayNearestOpenTime(out hourMinute2) && hourMinute2.AfterOpenTime(serverHour, serverMinute);
            if ((unLock1 && inOpenTime1) && !(unLock2 && inOpenTime2))
            if (unLock1 && !unLock2)
            {
                return -1;
            }
            else if (!(unLock1 && inOpenTime1) && (unLock2 && inOpenTime2))
            else if (!unLock1 && unLock2)
            {
                return 1;
            }
            else
            {
                if ((unLock1 && isActiveDay1 && !miss1) && !(unLock2 && isActiveDay2 && !miss2))
                DailyQuestOpenTime openTime1;
                TryGetOpenTime(_lhs, out openTime1);
                DailyQuestOpenTime openTime2;
                TryGetOpenTime(_rhs, out openTime2);
                var dayOfWeek = (int)TimeUtility.ServerNow.DayOfWeek;
                var isActiveDay1 = openTime1.always || openTime1.GetHourMinuteByWeek(dayOfWeek) != null;
                var isActiveDay2 = openTime2.always || openTime2.GetHourMinuteByWeek(dayOfWeek) != null;
                if (isActiveDay1 && !isActiveDay2)
                {
                    return -1;
                }
                else if (!(unLock1 && isActiveDay1 && !miss1) && (unLock2 && isActiveDay2 && !miss2))
                else if (!isActiveDay1 && isActiveDay2)
                {
                    return 1;
                }
                else
                {
                    if ((unLock1 && !isActiveDay1) && !(unLock2 && !isActiveDay2))
                    var inOpenTime1 = openTime1.InOpenTime();
                    var inOpenTime2 = openTime2.InOpenTime();
                    if (inOpenTime1 && !inOpenTime2)
                    {
                        return -1;
                    }
                    else if (!(unLock1 && !isActiveDay1) && (unLock2 && !isActiveDay2))
                    else if (!inOpenTime1 && inOpenTime2)
                    {
                        return 1;
                    }
                    else
                    else if (!inOpenTime1 && !inOpenTime2)
                    {
                        var serverHour = TimeUtility.ServerNow.Hour;
                        var serverMinute = TimeUtility.ServerNow.Minute;
                        HourMinute hourMinute1;
                        var miss1 = openTime1.TryGetTodayNearestOpenTime(out hourMinute1) && hourMinute1.AfterOpenTime(serverHour, serverMinute);
                        HourMinute hourMinute2;
                        var miss2 = openTime2.TryGetTodayNearestOpenTime(out hourMinute2) && hourMinute2.AfterOpenTime(serverHour, serverMinute);
                        if (!miss1 && miss2)
                        {
                            return -1;
@@ -750,20 +751,12 @@
                        }
                        else
                        {
                            if (unLock1 && !unLock2)
                            {
                                return -1;
                            }
                            else if (!unLock1 && unLock2)
                            {
                                return 1;
                            }
                            else
                            {
                                return _lhs < _rhs ? -1 : 1;
                            }
                            return HourMinute.Compare(hourMinute1, hourMinute2);
                        }
                    }
                    else
                    {
                        return _lhs < _rhs ? -1 : 1;
                    }
                }
            }