From 1e94864106b7b7bc611f22d6d06534d3334e37e5 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期六, 08 九月 2018 10:59:55 +0800
Subject: [PATCH] 3243  【开发】开服限时活动定制

---
 System/DailyQuest/DailyQuestData.cs           |   36 +++++++++++++++++++++++++++++++-----
 System/SystemSetting/SetPrivateModel.cs       |    6 +++---
 System/DailyQuest/DailyQuestCalendarColumn.cs |    7 ++-----
 3 files changed, 36 insertions(+), 13 deletions(-)

diff --git a/System/DailyQuest/DailyQuestCalendarColumn.cs b/System/DailyQuest/DailyQuestCalendarColumn.cs
index 0c4d744..8c8d368 100644
--- a/System/DailyQuest/DailyQuestCalendarColumn.cs
+++ b/System/DailyQuest/DailyQuestCalendarColumn.cs
@@ -17,10 +17,7 @@
         [SerializeField] Image m_Sign;
         [SerializeField] Text[] m_Quests;
 
-        DailyQuestModel m_Model;
-        DailyQuestModel model {
-            get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DailyQuestModel>()); }
-        }
+        DailyQuestModel model { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
 
         public void Display()
         {
@@ -39,7 +36,7 @@
                         questNameArray[j] = config.Title;
                     }
 
-                    var content = string.Join(",\r\n", questNameArray);
+                    var content = string.Join("\r\n", questNameArray);
                     m_Quests[i].text = content;
                 }
                 else
diff --git a/System/DailyQuest/DailyQuestData.cs b/System/DailyQuest/DailyQuestData.cs
index 8829d7a..d9c240a 100644
--- a/System/DailyQuest/DailyQuestData.cs
+++ b/System/DailyQuest/DailyQuestData.cs
@@ -67,6 +67,12 @@
 
     public void ParseQuestNormalOpenTime(string timeString, int duration)
     {
+
+        if (id == 27)
+        {
+            DebugEx.Log(111);
+        }
+
         var matches = Regex.Matches(timeString, "\\\"[0-9]\\\":\\[[0-9|,|\\[|\\]]+");
         always = matches.Count == 0;
 
@@ -113,6 +119,11 @@
 
     public void ParseQuestSpecificOpenTimes(List<DailyQuestSpecialOpenTimeConfig> configs)
     {
+        if (id == 27)
+        {
+            DebugEx.Log(111);
+        }
+
         if (configs == null)
         {
             return;
@@ -133,13 +144,12 @@
                 dayIndexOpenTimes[dayIndex] = new List<HourMinute>();
             }
 
-            var timeString = config.TimeList;
-            var timeJson = JsonMapper.ToObject(timeString);
+            var matches = Regex.Matches(config.TimeList, "\\[[0-9]{1,2},[0-9]{1,2}\\]");
             var hourMinutes = dayIndexOpenTimes[dayIndex];
 
-            for (int i = 0; i < timeJson.Count; i++)
+            for (int i = 0; i < matches.Count; i++)
             {
-                var temp = timeJson[i].ToString();
+                var temp = matches[i].Value;
                 hourMinutes.Add(new HourMinute(temp, config.Duration));
             }
         }
@@ -147,6 +157,11 @@
 
     public void ParseDungeonNormalOpenTimes(List<DungeonStateTimeConfig> configs)
     {
+        if (id == 27)
+        {
+            DebugEx.Log(111);
+        }
+
         always = configs == null || configs.Count == 0;
 
         if (!always)
@@ -183,6 +198,11 @@
 
     public void ParseDungeonSpecificOpenTimes(List<DungeonSpecialStateTimeConfig> configs)
     {
+        if (id == 27)
+        {
+            DebugEx.Log(111);
+        }
+
         if (configs == null)
         {
             return;
@@ -314,6 +334,12 @@
 
     public bool ContainTimeNode(int week, int timeNode)
     {
+
+        if (id == 27)
+        {
+            DebugEx.Log(111);
+        }
+
         var hourMinutes = GetHourMinuteByWeek(week);
         if (hourMinutes != null)
         {
@@ -377,7 +403,7 @@
     public List<HourMinute> GetHourMinuteByWeek(int week)
     {
         var isSpecificDay = TimeUtility.OpenWeekCnt <= 1;
-        var openDayWeek = (int)(TimeUtility.ServerNow - new TimeSpan(TimeUtility.OpenDay * TimeSpan.TicksPerDay)).DayOfWeek;
+        var openDayWeek = (int)TimeUtility.openServerTime.DayOfWeek;
         var dayIndex = TimeUtility.OpenDay + 1;
         if (isSpecificDay && specificOpenTimes.ContainsKey(openDayWeek) && specificOpenTimes[openDayWeek].ContainsKey(dayIndex))
         {
diff --git a/System/SystemSetting/SetPrivateModel.cs b/System/SystemSetting/SetPrivateModel.cs
index 5b03505..5fae90a 100644
--- a/System/SystemSetting/SetPrivateModel.cs
+++ b/System/SystemSetting/SetPrivateModel.cs
@@ -74,14 +74,14 @@
             DailyQuestOpenTime dailyQuestOpenTime;
             dailyModel.TryGetOpenTime(dailyId, out dailyQuestOpenTime);
 
-            for (int i = 0; i < 7; i++)
+            for (int weekDay = 0; weekDay < 7; weekDay++)
             {
-                var hourMinutelist = dailyQuestOpenTime.GetHourMinuteByWeek(i);
+                var hourMinutelist = dailyQuestOpenTime.GetHourMinuteByWeek(weekDay);
                 if (hourMinutelist != null)
                 {
                     for (int j = 0; j < hourMinutelist.Count; j++)
                     {
-                        var key = StringUtility.Contact(dailyId, i, hourMinutelist[i].hourBegin);
+                        var key = StringUtility.Contact(dailyId, weekDay, hourMinutelist[j].hourBegin);
                         keylist.Add(key);
                     }
                 }

--
Gitblit v1.8.0