From f31a204c7332999f22efd9d6c24d73dc0a5f3fe1 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期二, 26 三月 2019 11:38:52 +0800
Subject: [PATCH] 6394 【前端】【2.0】剧情任务对话支持同一NPC不同任务状态的多段对话

---
 System/MainInterfacePanel/DialogueDuidanceWin.cs |   68 +++++++++++++---------------------
 1 files changed, 26 insertions(+), 42 deletions(-)

diff --git a/System/MainInterfacePanel/DialogueDuidanceWin.cs b/System/MainInterfacePanel/DialogueDuidanceWin.cs
index 21e2d8c..8c01a9e 100644
--- a/System/MainInterfacePanel/DialogueDuidanceWin.cs
+++ b/System/MainInterfacePanel/DialogueDuidanceWin.cs
@@ -29,13 +29,13 @@
         [SerializeField] Text m_ContentText;
 
         [SerializeField] Text m_NextText;
-        [SerializeField] List<int> MysteriousTaskID = new List<int>();//鏂版坊绁炵浠诲姟
         Dictionary<int, string> PlayerIcon = new Dictionary<int, string>();
-        private int storyMissionsID = 0;//鍓ф儏浠诲姟ID
-        private int taskCount = 0;//鑾峰彇瀵硅瘽鎬绘潯鏁�
-        private int[] sPeaker;//瀵硅瘽瀵瑰簲鍗婅韩鍍忥紙0涓轰富瑙�/1涓篘PC锛�
-        private int nowTaskNum = 0;//鑾峰彇褰撳墠鐨勪换鍔�
-        private int typesPeaker = -1;
+
+        int[] sPeaker;//瀵硅瘽瀵瑰簲鍗婅韩鍍忥紙0涓轰富瑙�/1涓篘PC锛�
+        int taskIndex = 0;//鑾峰彇褰撳墠鐨勪换鍔�
+        int typesPeaker = -1;
+
+        public static int storyMissionId = 0;
 
         private float timeType = 0f;
         TaskModel m_TaskModel;
@@ -77,8 +77,7 @@
             m_NextText.text = string.Format(Language.Get("TaskContinueCount"), AwaitSecond);
             IsCloseWindow();
             typesPeaker = -1;
-            storyMissionsID = taskmodel._TaskNow;
-            var config = StoryMissionsConfig.Get(storyMissionsID);
+            var config = StoryMissionsConfig.Get(storyMissionId);
             if (config.TaskMusic != 0)
             {
                 SoundPlayer.Instance.PlayNpcAudio(config.TaskMusic);
@@ -87,22 +86,11 @@
             {
                 return;
             }
-            if (config.NpcID[0] == taskmodel.NPCid)
-            {
-                taskCount = config.TalkNum[0];
-                sPeaker = config.Speaker1;
-                IsMultistage = 0;
-            }
-            else
-            {
-                taskCount = config.TalkNum[0];
-                sPeaker = config.Speaker2;
-                IsMultistage = 1;
-            }
-            //taskCount = config.TalkNum;
-            //sPeaker = config.Speaker;
-            nowTaskNum = 0;
-            ShowDialogSelect(sPeaker[0], nowTaskNum);
+
+            sPeaker = config.Speaker1;
+
+            taskIndex = config.TalkNum[0];
+            ShowDialogSelect(sPeaker[0], taskIndex);
         }
 
         private void IsCloseWindow()
@@ -134,11 +122,6 @@
 
         protected override void OnAfterClose()
         {
-            if (MysteriousTaskID.Contains(storyMissionsID))
-            {
-                mainModel.MysteriousTaskID = storyMissionsID;
-                CoroutineMgr.Instance.OnMysteriousTask();
-            }
             bool _bool = IsDungeon();
             if (_bool)
             {
@@ -197,17 +180,20 @@
         private void OnClickMarkRay()
         {
             timeType = 0;
-            var config = StoryMissionsConfig.Get(storyMissionsID);
+            var config = StoryMissionsConfig.Get(storyMissionId);
             if (config == null)
             {
                 return;
             }
-            nowTaskNum += 1;
-            if (taskCount - 1 >= nowTaskNum)//涓嬩竴鏉�
+
+            taskIndex += 1;
+            var end = config.TalkNum.Length > 1 ? config.TalkNum[1] : config.TalkNum[0];
+
+            if (taskIndex <= end)//涓嬩竴鏉�
             {
-                ShowDialogSelect(sPeaker[nowTaskNum], nowTaskNum);
+                ShowDialogSelect(sPeaker[taskIndex], taskIndex);
             }
-            if (taskCount - 1 < nowTaskNum)//鏈�鍚庝竴鏉�
+            else//鏈�鍚庝竴鏉�
             {
                 SessionEnd(TaskType.OK);
                 Close();
@@ -223,7 +209,7 @@
         }
         private void OnClickSKIPButton()
         {
-            var config = StoryMissionsConfig.Get(storyMissionsID);
+            var config = StoryMissionsConfig.Get(storyMissionId);
             if (config != null)
             {
                 SessionEnd(TaskType.OK);
@@ -251,7 +237,7 @@
 
                 m_PlayerNameText.text = PlayerDatas.Instance.baseData.PlayerName;
 
-                string platercContentKey = StoryMissionsConfig.Get(storyMissionsID).content[IsMultistage];
+                string platercContentKey = StoryMissionsConfig.Get(storyMissionId).content;
                 var config = TASKINFOConfig.Get(string.Format(platercContentKey, stepNum));
                 if (config != null)
                 {
@@ -270,15 +256,15 @@
                     m_BaseboardImageNPC.SetActive(true);
                     m_BaseboardImagePlayer.SetActive(false);
                 }
-                var configStoryMissions = StoryMissionsConfig.Get(storyMissionsID);
+                var configStoryMissions = StoryMissionsConfig.Get(storyMissionId);
                 if (configStoryMissions == null)
                 {
                     return;
                 }
-                int npcId = configStoryMissions.NpcID[IsMultistage];
+                int npcId = configStoryMissions.NpcID;
                 var npcConfig = NPCConfig.Get(npcId);
                 m_NPCNameText.text = npcConfig.charName;
-                string npcContentKey = configStoryMissions.content[IsMultistage];
+                string npcContentKey = configStoryMissions.content;
                 var taskInfo = TASKINFOConfig.Get(string.Format(npcContentKey, stepNum));
                 if (taskInfo == null)
                 {
@@ -288,9 +274,7 @@
                 {
                     m_ContentText_Npc.text = taskInfo.show_writing;
                 }
-
-                string npcIcon = configStoryMissions.NpcIcon[IsMultistage];
-
+                
                 var data = new UI3DNPCExhibitionData()
                 {
                     npcId = npcId,

--
Gitblit v1.8.0