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不同任务状态的多段对话

---
 Core/GameEngine/Model/Config/StoryMissionsConfig.cs |  432 ++++++++++++++++++++++++++---------------------------
 1 files changed, 211 insertions(+), 221 deletions(-)

diff --git a/Core/GameEngine/Model/Config/StoryMissionsConfig.cs b/Core/GameEngine/Model/Config/StoryMissionsConfig.cs
index e4dcd7d..cfc9462 100644
--- a/Core/GameEngine/Model/Config/StoryMissionsConfig.cs
+++ b/Core/GameEngine/Model/Config/StoryMissionsConfig.cs
@@ -1,240 +1,230 @@
-锘�//--------------------------------------------------------
-//    [Author]:           Fish
-//    [  Date ]:           Thursday, February 14, 2019
-//--------------------------------------------------------
-
-using System.Collections.Generic;
-using System.IO;
-using System.Threading;
-using System;
-using UnityEngine;
-
-[XLua.LuaCallCSharp]
-public partial class StoryMissionsConfig
-{
-
-    public readonly int TaskID;
-	public readonly int[] NpcID;
+锘�//--------------------------------------------------------
+//    [Author]:           Fish
+//    [  Date ]:           Tuesday, March 26, 2019
+//--------------------------------------------------------
+
+using System.Collections.Generic;
+using System.IO;
+using System.Threading;
+using System;
+using UnityEngine;
+
+[XLua.LuaCallCSharp]
+public partial class StoryMissionsConfig
+{
+
+    public readonly int id;
+	public readonly int TaskID;
+	public readonly int state;
+	public readonly int NpcID;
 	public readonly int[] TalkNum;
-	public readonly string[] content;
+	public readonly string content;
 	public readonly int[] Speaker1;
-	public readonly int[] Speaker2;
-	public readonly string[] NpcIcon;
-	public readonly int TaskMusic;
+	public readonly int TaskMusic;
+
+	public StoryMissionsConfig()
+    {
+    }
+
+    public StoryMissionsConfig(string input)
+    {
+        try
+        {
+            var tables = input.Split('\t');
+
+            int.TryParse(tables[0],out id); 
 
-	public StoryMissionsConfig()
-    {
-    }
+			int.TryParse(tables[1],out TaskID); 
 
-    public StoryMissionsConfig(string input)
-    {
-        try
-        {
-            var tables = input.Split('\t');
+			int.TryParse(tables[2],out state); 
 
-            int.TryParse(tables[0],out TaskID); 
+			int.TryParse(tables[3],out NpcID); 
 
-			string[] NpcIDStringArray = tables[1].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
-			NpcID = new int[NpcIDStringArray.Length];
-			for (int i=0;i<NpcIDStringArray.Length;i++)
-			{
-				 int.TryParse(NpcIDStringArray[i],out NpcID[i]);
-			}
-
-			string[] TalkNumStringArray = tables[2].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+			string[] TalkNumStringArray = tables[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
 			TalkNum = new int[TalkNumStringArray.Length];
 			for (int i=0;i<TalkNumStringArray.Length;i++)
 			{
 				 int.TryParse(TalkNumStringArray[i],out TalkNum[i]);
 			}
 
-			content = tables[3].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+			content = tables[5];
 
-			string[] Speaker1StringArray = tables[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+			string[] Speaker1StringArray = tables[6].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
 			Speaker1 = new int[Speaker1StringArray.Length];
 			for (int i=0;i<Speaker1StringArray.Length;i++)
 			{
 				 int.TryParse(Speaker1StringArray[i],out Speaker1[i]);
 			}
 
-			string[] Speaker2StringArray = tables[5].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
-			Speaker2 = new int[Speaker2StringArray.Length];
-			for (int i=0;i<Speaker2StringArray.Length;i++)
-			{
-				 int.TryParse(Speaker2StringArray[i],out Speaker2[i]);
-			}
-
-			NpcIcon = tables[6].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
-
-			int.TryParse(tables[7],out TaskMusic); 
-        }
-        catch (Exception ex)
-        {
-            DebugEx.Log(ex);
-        }
-    }
-
-    static Dictionary<string, StoryMissionsConfig> configs = new Dictionary<string, StoryMissionsConfig>();
-    public static StoryMissionsConfig Get(string id)
-    {   
-		if (!inited)
-        {
-            Debug.Log("StoryMissionsConfig 杩樻湭瀹屾垚鍒濆鍖栥��");
-            return null;
-        }
-		
-        if (configs.ContainsKey(id))
-        {
-            return configs[id];
-        }
-
-        StoryMissionsConfig config = null;
-        if (rawDatas.ContainsKey(id))
-        {
-            config = configs[id] = new StoryMissionsConfig(rawDatas[id]);
-            rawDatas.Remove(id);
-        }
-
-        return config;
-    }
-
-	public static StoryMissionsConfig Get(int id)
-    {
-        return Get(id.ToString());
-    }
-
-    public static List<string> GetKeys()
-    {
-        var keys = new List<string>();
-        keys.AddRange(configs.Keys);
-        keys.AddRange(rawDatas.Keys);
-        return keys;
-    }
-
-    public static List<StoryMissionsConfig> GetValues()
-    {
-        var values = new List<StoryMissionsConfig>();
-        values.AddRange(configs.Values);
-
-        var keys = new List<string>(rawDatas.Keys);
-        foreach (var key in keys)
-        {
-            values.Add(Get(key));
-        }
-
-        return values;
-    }
-
-	public static bool Has(string id)
-    {
-        return configs.ContainsKey(id) || rawDatas.ContainsKey(id);
-    }
-
-	public static bool Has(int id)
-    {
-        return Has(id.ToString());
-    }
-
-	public static bool inited { get; private set; }
-    protected static Dictionary<string, string> rawDatas = new Dictionary<string, string>();
-    public static void Init(bool sync=false)
-    {
-	    inited = false;
-		var path = string.Empty;
-        if (AssetSource.refdataFromEditor)
-        {
-            path = ResourcesPath.CONFIG_FODLER +"/StoryMissions.txt";
-        }
-        else
-        {
-            path = AssetVersionUtility.GetAssetFilePath("config/StoryMissions.txt");
-        }
-
-		var tempConfig = new StoryMissionsConfig();
-        var preParse = tempConfig is IConfigPostProcess;
-
-        if (sync)
-        {
-            var lines = File.ReadAllLines(path);
-            if (!preParse)
-            {
-                rawDatas = new Dictionary<string, string>(lines.Length - 3);
-            }
-            for (int i = 3; i < lines.Length; i++)
-            {
-				try 
-				{
-					var line = lines[i];
-					var index = line.IndexOf("\t");
-					if (index == -1)
-					{
-						continue;
-					}
-					var id = line.Substring(0, index);
-
-					if (preParse)
-					{
-						var config = new StoryMissionsConfig(line);
-						configs[id] = config;
-						(config as IConfigPostProcess).OnConfigParseCompleted();
-					}
-					else
-					{
-						rawDatas[id] = line;
-					}
-				}
-				catch (System.Exception ex)
-                {
-                    Debug.LogError(ex);
-                }
-            }
-			inited = true;
-        }
-        else
-        {
-            ThreadPool.QueueUserWorkItem((object _object) =>
-            {
-                var lines = File.ReadAllLines(path);
-				if (!preParse)
-				{
-					rawDatas = new Dictionary<string, string>(lines.Length - 3);
-				}
-                for (int i = 3; i < lines.Length; i++)
-                {
-					try 
-					{
-					   var line = lines[i];
-						var index = line.IndexOf("\t");
-						if (index == -1)
-						{
-							continue;
-						}
-						var id = line.Substring(0, index);
-
-						if (preParse)
-						{
-							var config = new StoryMissionsConfig(line);
-							configs[id] = config;
-							(config as IConfigPostProcess).OnConfigParseCompleted();
-						}
-						else
-						{
-							rawDatas[id] = line;
-						}
-					}
-					catch (System.Exception ex)
-                    {
-                        Debug.LogError(ex);
-                    }
-                }
-
-                inited = true;
-            });
-        }
-    }
-
-}
-
-
-
-
+			int.TryParse(tables[7],out TaskMusic); 
+        }
+        catch (Exception ex)
+        {
+            DebugEx.Log(ex);
+        }
+    }
+
+    static Dictionary<string, StoryMissionsConfig> configs = new Dictionary<string, StoryMissionsConfig>();
+    public static StoryMissionsConfig Get(string id)
+    {   
+		if (!inited)
+        {
+            Debug.Log("StoryMissionsConfig 杩樻湭瀹屾垚鍒濆鍖栥��");
+            return null;
+        }
+		
+        if (configs.ContainsKey(id))
+        {
+            return configs[id];
+        }
+
+        StoryMissionsConfig config = null;
+        if (rawDatas.ContainsKey(id))
+        {
+            config = configs[id] = new StoryMissionsConfig(rawDatas[id]);
+            rawDatas.Remove(id);
+        }
+
+        return config;
+    }
+
+	public static StoryMissionsConfig Get(int id)
+    {
+        return Get(id.ToString());
+    }
+
+    public static List<string> GetKeys()
+    {
+        var keys = new List<string>();
+        keys.AddRange(configs.Keys);
+        keys.AddRange(rawDatas.Keys);
+        return keys;
+    }
+
+    public static List<StoryMissionsConfig> GetValues()
+    {
+        var values = new List<StoryMissionsConfig>();
+        values.AddRange(configs.Values);
+
+        var keys = new List<string>(rawDatas.Keys);
+        foreach (var key in keys)
+        {
+            values.Add(Get(key));
+        }
+
+        return values;
+    }
+
+	public static bool Has(string id)
+    {
+        return configs.ContainsKey(id) || rawDatas.ContainsKey(id);
+    }
+
+	public static bool Has(int id)
+    {
+        return Has(id.ToString());
+    }
+
+	public static bool inited { get; private set; }
+    protected static Dictionary<string, string> rawDatas = new Dictionary<string, string>();
+    public static void Init(bool sync=false)
+    {
+	    inited = false;
+		var path = string.Empty;
+        if (AssetSource.refdataFromEditor)
+        {
+            path = ResourcesPath.CONFIG_FODLER +"/StoryMissions.txt";
+        }
+        else
+        {
+            path = AssetVersionUtility.GetAssetFilePath("config/StoryMissions.txt");
+        }
+
+		var tempConfig = new StoryMissionsConfig();
+        var preParse = tempConfig is IConfigPostProcess;
+
+        if (sync)
+        {
+            var lines = File.ReadAllLines(path);
+            if (!preParse)
+            {
+                rawDatas = new Dictionary<string, string>(lines.Length - 3);
+            }
+            for (int i = 3; i < lines.Length; i++)
+            {
+				try 
+				{
+					var line = lines[i];
+					var index = line.IndexOf("\t");
+					if (index == -1)
+					{
+						continue;
+					}
+					var id = line.Substring(0, index);
+
+					if (preParse)
+					{
+						var config = new StoryMissionsConfig(line);
+						configs[id] = config;
+						(config as IConfigPostProcess).OnConfigParseCompleted();
+					}
+					else
+					{
+						rawDatas[id] = line;
+					}
+				}
+				catch (System.Exception ex)
+                {
+                    Debug.LogError(ex);
+                }
+            }
+			inited = true;
+        }
+        else
+        {
+            ThreadPool.QueueUserWorkItem((object _object) =>
+            {
+                var lines = File.ReadAllLines(path);
+				if (!preParse)
+				{
+					rawDatas = new Dictionary<string, string>(lines.Length - 3);
+				}
+                for (int i = 3; i < lines.Length; i++)
+                {
+					try 
+					{
+					   var line = lines[i];
+						var index = line.IndexOf("\t");
+						if (index == -1)
+						{
+							continue;
+						}
+						var id = line.Substring(0, index);
+
+						if (preParse)
+						{
+							var config = new StoryMissionsConfig(line);
+							configs[id] = config;
+							(config as IConfigPostProcess).OnConfigParseCompleted();
+						}
+						else
+						{
+							rawDatas[id] = line;
+						}
+					}
+					catch (System.Exception ex)
+                    {
+                        Debug.LogError(ex);
+                    }
+                }
+
+                inited = true;
+            });
+        }
+    }
+
+}
+
+
+
+

--
Gitblit v1.8.0