From 62d51785f72bff52caabf44183d472c39bc39c18 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期四, 27 六月 2019 16:06:50 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/MainInterfacePanel/StoryTask.cs |   37 ++++++++++++++++++++++++++++++++-----
 1 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/System/MainInterfacePanel/StoryTask.cs b/System/MainInterfacePanel/StoryTask.cs
index 768d907..2032350 100644
--- a/System/MainInterfacePanel/StoryTask.cs
+++ b/System/MainInterfacePanel/StoryTask.cs
@@ -29,6 +29,7 @@
         private Dictionary<int, string> chapterDic = new Dictionary<int, string>();//鐢ㄦ潵瀛樺偍涓荤嚎浠诲姟绔犺妭
         private List<int> listTask = new List<int>();//鍌ㄥ瓨褰撳墠绔犺妭鐨勪换鍔′釜鏁�
         private int mainTaskID = 0;//鑾峰彇褰撳墠姝e湪杩涜浠诲姟鐨処D
+        private int closerTaskId = 0;
         private int mainTaaskChapter = 1;//鑾峰彇褰撳墠浠诲姟鐨勭珷鑺�
 
         private int MainTaaskChapterNow = 1;//鑾峰彇褰撳墠閫変腑鐨勯�変腑绔犺妭鏁�
@@ -51,7 +52,7 @@
             GetMainIDAndMainTaskChapter();
             MainTaaskChapterNow = mainTaaskChapter;
             ListTask(MainTaaskChapterNow);
-            MainTaskIDNow = mainTaskID;
+            MainTaskIDNow = closerTaskId;
             OnCreateGridLineCell(_TaskRamusList);//鍒涘缓璧嬪��
             StartCoroutine("Delay");
         }
@@ -85,7 +86,11 @@
                     {
                         for (int i = 0; i < listTask.Count; i++)
                         {
-                            gridCtrl.AddCell(ScrollerDataType.Normal, listTask[i]);
+                            var config = TaskListConfig.Get(listTask[i]);
+                            if (config != null && TASKINFOConfig.Has(config.TaskName))
+                            {
+                                gridCtrl.AddCell(ScrollerDataType.Normal, listTask[i]);
+                            }
                         }
                     }
                 }
@@ -331,10 +336,32 @@
                 if (_MainTaskDic[key].MissionState != 0 && _MainTaskDic[key].MissionState != 3)
                 {
                     mainTaskID = key;
-                    mainTaaskChapter = TaskListConfig.Get(key).ChapterID;
-
+                    closerTaskId = GetCloserTask(key);
+                    mainTaaskChapter = TaskListConfig.Get(closerTaskId).ChapterID;
                 }
             }
+        }
+
+        int GetCloserTask(int taskId)
+        {
+            if (TaskListConfig.Has(taskId))
+            {
+                return taskId;
+            }
+            var configs = TaskListConfig.GetValues();
+            var id = configs[0].TaskID;
+            foreach (var config in configs)
+            {
+                if (config.TaskID <= taskId && TASKINFOConfig.Has(config.TaskName))
+                {
+                    id = config.TaskID;
+                }
+                else
+                {
+                    break;
+                }
+            }
+            return id;
         }
 
 
@@ -362,7 +389,7 @@
             for (int i = 0; i < listTask.Count; i++)
             {
                 Index += 1;
-                if (listTask[i] == mainTaskID)
+                if (listTask[i] == closerTaskId)
                 {
                     return Index;
 

--
Gitblit v1.8.0