From 0c7d47ae29d60a715b35a281fd8d2d5022567d93 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期三, 27 三月 2019 10:09:22 +0800
Subject: [PATCH] Merge branch 'master' into TreasureMission

---
 System/MainInterfacePanel/TaskModel.cs |   81 ++++++++++++++++++----------------------
 1 files changed, 37 insertions(+), 44 deletions(-)

diff --git a/System/MainInterfacePanel/TaskModel.cs b/System/MainInterfacePanel/TaskModel.cs
index 6e0404c..d1df4c8 100644
--- a/System/MainInterfacePanel/TaskModel.cs
+++ b/System/MainInterfacePanel/TaskModel.cs
@@ -363,14 +363,15 @@
         if (NewBieCenter.Instance.inGuiding || ModelCenter.Instance.GetModel<TreasureModel>().newGotShowing)
         {
             return;
-        }
+        }
+
+        bool IsOpenMain = WindowCenter.Instance.IsOpen<MainInterfaceWin>();
 
-        var state = GetQuestState(taskID);
-        var config = StoryMissionsConfig.GetConfig(taskID, state);
-        bool IsOpenMain = WindowCenter.Instance.IsOpen<MainInterfaceWin>();
-        if (config != null)
+        var state = 0;
+        if (TryGetCustomTaskState(taskID, out state))
         {
-            if (NPCid == config.NpcID)
+            var config = StoryMissionsConfig.GetConfig(taskID, state);
+            if (config != null && NPCid == config.NpcID)
             {
                 if (!WindowCenter.Instance.IsOpen<DialogueDuidanceWin>() && IsOpenMain
                      && !WindowCenter.Instance.ExistAnyFullScreenOrMaskWin())
@@ -380,44 +381,21 @@
                     WindowCenter.Instance.Open<DialogueDuidanceWin>();
                 }
                 return;
-            }
-            if (!WindowCenter.Instance.IsOpen<TaskBoxBGMWin>() && IsOpenMain)
-            {
-                WindowCenter.Instance.Close<MainInterfaceWin>();
-                WindowCenter.Instance.Open<TaskBoxBGMWin>();
-                return;
-            }
-            else
-            {
-                if (BountyDic.ContainsKey(_TaskNow) || FairyAuDic.ContainsKey(_TaskNow))
-                {
-                    if (!ModelCenter.Instance.GetModel<TeamModel>().teamPrepare.isPreparing)
-                    {
-                        RequestGetTaskAward("OK");
-                    }
-                }
-            }
-        }
-        else
-        {
-            if (!WindowCenter.Instance.IsOpen<TaskBoxBGMWin>() && IsOpenMain)
-            {
-                WindowCenter.Instance.Close<MainInterfaceWin>();
-                WindowCenter.Instance.Open<TaskBoxBGMWin>();
-                return;
-            }
-            else
-            {
-                if (BountyDic.ContainsKey(_TaskNow) || FairyAuDic.ContainsKey(_TaskNow))
-                {
-                    if (!ModelCenter.Instance.GetModel<TeamModel>().teamPrepare.isPreparing)
-                    {
-                        RequestGetTaskAward("OK");
-                    }
-                }
-            }
-        }
-
+            }
+        }
+        if (!WindowCenter.Instance.IsOpen<TaskBoxBGMWin>() && IsOpenMain)
+        {
+            WindowCenter.Instance.Close<MainInterfaceWin>();
+            WindowCenter.Instance.Open<TaskBoxBGMWin>();
+            return;
+        }
+        if (BountyDic.ContainsKey(_TaskNow) || FairyAuDic.ContainsKey(_TaskNow))
+        {
+            if (!ModelCenter.Instance.GetModel<TeamModel>().teamPrepare.isPreparing)
+            {
+                RequestGetTaskAward("OK");
+            }
+        }
     }
 
 
@@ -431,6 +409,21 @@
 
     }
 
+    public bool TryGetCustomTaskState(int taskId, out int state)
+    {
+        state = 0;
+        if (ReplaceDic.ContainsKey(taskId))
+        {
+            var keyValue = ReplaceDic[taskId];
+            if (keyValue.ContainsKey("state"))
+            {
+                state = keyValue["state"];
+                return true;
+            }
+        }
+        return false;
+    }
+
     void AddMission(int MissionID, int MissionState, int DiscriptionIndex)//娣诲姞浠诲姟
     {
         var config = PyTaskConfig.Get(MissionID);

--
Gitblit v1.8.0