From d3939e0699145673a82d2f690cdee46d4c6455c4 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期三, 13 二月 2019 19:48:47 +0800
Subject: [PATCH] 3335 配置表读取重构。

---
 Core/GameEngine/Model/Config/DungeonSpecialStateTimeConfig.cs |   96 +++++++++++++++++++++++++-----------------------
 1 files changed, 50 insertions(+), 46 deletions(-)

diff --git a/Core/GameEngine/Model/Config/DungeonSpecialStateTimeConfig.cs b/Core/GameEngine/Model/Config/DungeonSpecialStateTimeConfig.cs
index 9a13662..93a11bf 100644
--- a/Core/GameEngine/Model/Config/DungeonSpecialStateTimeConfig.cs
+++ b/Core/GameEngine/Model/Config/DungeonSpecialStateTimeConfig.cs
@@ -13,17 +13,17 @@
 {
 
     public readonly int ID;
-	public readonly int OpenServerWeek;
-	public readonly int OpenServerDay;
-	public readonly int DataMapID;
-	public readonly int StartHour;
-	public readonly int StartMinute;
-	public readonly int EndHour;
-	public readonly int EndMinute;
-	public readonly int CanEnter;
-	public readonly int StateValue;
+    public readonly int OpenServerWeek;
+    public readonly int OpenServerDay;
+    public readonly int DataMapID;
+    public readonly int StartHour;
+    public readonly int StartMinute;
+    public readonly int EndHour;
+    public readonly int EndMinute;
+    public readonly int CanEnter;
+    public readonly int StateValue;
 
-	public DungeonSpecialStateTimeConfig()
+    public DungeonSpecialStateTimeConfig()
     {
     }
 
@@ -33,25 +33,25 @@
         {
             var tables = input.Split('\t');
 
-            int.TryParse(tables[0],out ID); 
+            int.TryParse(tables[0], out ID);
 
-			int.TryParse(tables[1],out OpenServerWeek); 
+            int.TryParse(tables[1], out OpenServerWeek);
 
-			int.TryParse(tables[2],out OpenServerDay); 
+            int.TryParse(tables[2], out OpenServerDay);
 
-			int.TryParse(tables[3],out DataMapID); 
+            int.TryParse(tables[3], out DataMapID);
 
-			int.TryParse(tables[4],out StartHour); 
+            int.TryParse(tables[4], out StartHour);
 
-			int.TryParse(tables[5],out StartMinute); 
+            int.TryParse(tables[5], out StartMinute);
 
-			int.TryParse(tables[6],out EndHour); 
+            int.TryParse(tables[6], out EndHour);
 
-			int.TryParse(tables[7],out EndMinute); 
+            int.TryParse(tables[7], out EndMinute);
 
-			int.TryParse(tables[8],out CanEnter); 
+            int.TryParse(tables[8], out CanEnter);
 
-			int.TryParse(tables[9],out StateValue); 
+            int.TryParse(tables[9], out StateValue);
         }
         catch (Exception ex)
         {
@@ -61,13 +61,13 @@
 
     static Dictionary<string, DungeonSpecialStateTimeConfig> configs = new Dictionary<string, DungeonSpecialStateTimeConfig>();
     public static DungeonSpecialStateTimeConfig Get(string id)
-    {   
-		if (!inited)
+    {
+        if (!inited)
         {
             Debug.Log("DungeonSpecialStateTimeConfig 杩樻湭瀹屾垚鍒濆鍖栥��");
             return null;
         }
-		
+
         if (configs.ContainsKey(id))
         {
             return configs[id];
@@ -83,7 +83,7 @@
         return config;
     }
 
-	public static DungeonSpecialStateTimeConfig Get(int id)
+    public static DungeonSpecialStateTimeConfig Get(int id)
     {
         return Get(id.ToString());
     }
@@ -110,32 +110,32 @@
         return values;
     }
 
-	public static bool Has(string id)
+    public static bool Has(string id)
     {
         return configs.ContainsKey(id) || rawDatas.ContainsKey(id);
     }
 
-	public static bool Has(int id)
+    public static bool Has(int id)
     {
         return Has(id.ToString());
     }
 
-	public static bool inited { get; private set; }
+    public static bool inited { get; private set; }
     protected static Dictionary<string, string> rawDatas = new Dictionary<string, string>();
-    public static void Init(bool sync=false)
+    public static void Init(bool sync = false)
     {
-	    inited = false;
-		var path = string.Empty;
+        inited = false;
+        var path = string.Empty;
         if (AssetSource.refdataFromEditor)
         {
-            path = ResourcesPath.CONFIG_FODLER +"/DungeonSpecialStateTime.txt";
+            path = ResourcesPath.CONFIG_FODLER + "/DungeonSpecialStateTime.txt";
         }
         else
         {
             path = AssetVersionUtility.GetAssetFilePath("config/DungeonSpecialStateTime.txt");
         }
 
-		var tempConfig = new DungeonSpecialStateTimeConfig();
+        var tempConfig = new DungeonSpecialStateTimeConfig();
         var preParse = tempConfig is IConfigPostProcess;
 
         if (sync)
@@ -153,38 +153,42 @@
 
                 if (preParse)
                 {
-                    configs[id] = new DungeonSpecialStateTimeConfig(line);
+                    var config = new DungeonSpecialStateTimeConfig(line);
+                    configs[id] = config;
+                    (config as IConfigPostProcess).OnConfigParseCompleted();
                 }
                 else
                 {
                     rawDatas[id] = line;
                 }
             }
-			inited = true;
+            inited = true;
         }
         else
         {
             ThreadPool.QueueUserWorkItem((object _object) =>
             {
                 var lines = File.ReadAllLines(path);
-				if (!preParse)
-				{
-					rawDatas = new Dictionary<string, string>(lines.Length - 3);
-				}
+                if (!preParse)
+                {
+                    rawDatas = new Dictionary<string, string>(lines.Length - 3);
+                }
                 for (int i = 3; i < lines.Length; i++)
                 {
                     var line = lines[i];
                     var index = line.IndexOf("\t");
                     var id = line.Substring(0, index);
 
-					if (preParse)
-					{
-						configs[id] = new DungeonSpecialStateTimeConfig(line);
-					}
-					else
-					{
-						rawDatas[id] = line;
-					}
+                    if (preParse)
+                    {
+                        var config = new DungeonSpecialStateTimeConfig(line);
+                        configs[id] = config;
+                        (config as IConfigPostProcess).OnConfigParseCompleted();
+                    }
+                    else
+                    {
+                        rawDatas[id] = line;
+                    }
                 }
 
                 inited = true;

--
Gitblit v1.8.0