From d29efe9bfbfe8b89a9f7206d2f510de4af2f8e95 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期二, 09 四月 2019 10:29:23 +0800
Subject: [PATCH] 3335 缥缈仙域

---
 System/HazyRegion/HazyRegionModel.cs |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/System/HazyRegion/HazyRegionModel.cs b/System/HazyRegion/HazyRegionModel.cs
index 208e2a6..0084604 100644
--- a/System/HazyRegion/HazyRegionModel.cs
+++ b/System/HazyRegion/HazyRegionModel.cs
@@ -34,6 +34,9 @@
         public event Action<int> onHazyRegionStateRefresh;  //0-缁撴潫鎷滆 1-寮�濮嬫嫓璁� 2-寮哄埗鍒锋柊
         public event Action onHazyRegionIncidentRefresh;
 
+        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
+        DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
+
         public override void Init()
         {
             ParseConfig();
@@ -59,6 +62,8 @@
 
         void ParseConfig()
         {
+            var funcConfig = FuncConfigConfig.Get("ImmortalDomainStrength");
+            limitPoint = int.Parse(funcConfig.Numerical1);
         }
 
         public bool TryGetIncident(int id, out Incident incident)
@@ -118,9 +123,40 @@
             return true;
         }
 
+        public bool TryAddTimes()
+        {
+            var config = DailyQuestConfig.Get((int)DailyQuestType.HazyRegion);
+            var dailyQuestOpenTime = DailyQuestOpenTimeConfig.Get(config.RelatedID);
+            var limitTimes = dailyQuestOpenTime.DayTimes;
+
+            var totalTimes = dailyQuestModel.GetDailyQuestTotalTimes((int)DailyQuestType.HazyRegion);
+            var completedTimes = dailyQuestModel.GetDailyQuestCompletedTimes((int)DailyQuestType.HazyRegion);
+            var times = Mathf.Clamp(totalTimes - completedTimes, 0, limitTimes);
+
+            if (times >= limitTimes)
+            {
+                return false;
+            }
+
+            return true;
+        }
+
         public ICollection<int> GetAllIncidents()
         {
             return m_Incidents.Keys;
+        }
+
+        public int GetIncidentId(int mapId, int lineId)
+        {
+            var configs = HazyRegionConfig.GetValues();
+            foreach (var config in configs)
+            {
+                if (config.dungeonId == mapId && config.lineId == lineId)
+                {
+                    return config.id;
+                }
+            }
+            return 0;
         }
 
         public void DisplayErrorRemind(int error)
@@ -143,6 +179,7 @@
                 case HazyRegionIncidentType.FairyGrass:
                 case HazyRegionIncidentType.ReikiGrass:
                 case HazyRegionIncidentType.Precious:
+                    dungeonModel.SingleChallenge(config.dungeonId, config.lineId);
                     break;
             }
         }

--
Gitblit v1.8.0