From 3908a26c26a638d464752c670cf133fa8e305285 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期一, 17 九月 2018 15:41:38 +0800
Subject: [PATCH] 3243  【开发】开服限时活动定制

---
 System/DailyQuest/DailyQuestData.cs |   73 +++++++++++++++++++++---------------
 1 files changed, 43 insertions(+), 30 deletions(-)

diff --git a/System/DailyQuest/DailyQuestData.cs b/System/DailyQuest/DailyQuestData.cs
index 5b39c22..f44b370 100644
--- a/System/DailyQuest/DailyQuestData.cs
+++ b/System/DailyQuest/DailyQuestData.cs
@@ -327,9 +327,7 @@
 
     public bool ContainTimeNode(int week, int timeNode)
     {
-        var isSpecialDay = TimeUtility.OpenWeekCnt <= 1;
         var openDayWeek = (int)TimeUtility.openServerTime.DayOfWeek;
-        var dayIndex = TimeUtility.OpenDay + 1;
 
         List<HourMinute> hourMinutes = null;
         var dayDelta = (week == 0 ? 7 : week) - openDayWeek;
@@ -356,6 +354,20 @@
         return false;
     }
 
+    private bool ContainWeek(int week)
+    {
+        var openDayWeek = (int)TimeUtility.openServerTime.DayOfWeek;
+        var dayDelta = (week == 0 ? 7 : week) - openDayWeek;
+        if (TimeUtility.OpenWeekCnt < 1 && dayDelta < 0)
+        {
+            return openTimes.ContainsKey(week);
+        }
+        else
+        {
+            return GetHourMinuteByWeek(week) != null;
+        }
+    }
+
     public string ToOpenTimeString()
     {
         if (always || openTimes.Count >= 7)
@@ -364,39 +376,40 @@
         }
         else
         {
-            var timeStringArray = new string[openTimes.Count];
-            var index = 0;
-            foreach (var key in openTimes.Keys)
+            var timeStringList = new List<string>();
+            for (var i = 1; i <= 7; i++)
             {
-                switch (key)
+                var week = i % 7;
+                if (ContainWeek(week))
                 {
-                    case 0:
-                        timeStringArray[index] = Language.Get("Weekday7");
-                        break;
-                    case 1:
-                        timeStringArray[index] = Language.Get("Weekday1");
-                        break;
-                    case 2:
-                        timeStringArray[index] = Language.Get("Weekday2");
-                        break;
-                    case 3:
-                        timeStringArray[index] = Language.Get("Weekday3");
-                        break;
-                    case 4:
-                        timeStringArray[index] = Language.Get("Weekday4");
-                        break;
-                    case 5:
-                        timeStringArray[index] = Language.Get("Weekday5");
-                        break;
-                    case 6:
-                        timeStringArray[index] = Language.Get("Weekday6");
-                        break;
+                    switch (week)
+                    {
+                        case 0:
+                            timeStringList.Add(Language.Get("Weekday7"));
+                            break;
+                        case 1:
+                            timeStringList.Add(Language.Get("Weekday1"));
+                            break;
+                        case 2:
+                            timeStringList.Add(Language.Get("Weekday2"));
+                            break;
+                        case 3:
+                            timeStringList.Add(Language.Get("Weekday3"));
+                            break;
+                        case 4:
+                            timeStringList.Add(Language.Get("Weekday4"));
+                            break;
+                        case 5:
+                            timeStringList.Add(Language.Get("Weekday5"));
+                            break;
+                        case 6:
+                            timeStringList.Add(Language.Get("Weekday6"));
+                            break;
+                    }
                 }
-
-                index++;
             }
 
-            return string.Join("銆�", timeStringArray);
+            return string.Join("銆�", timeStringList.ToArray());
         }
 
     }

--
Gitblit v1.8.0