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

---
 Core/GameEngine/Model/ConfigManager.cs    |  370 ------------------------------
 Core/GameEngine/Model/ConfigBase.cs       |   34 --
 Core/GameEngine/Model/Config/NPCConfig.cs |  302 ++++++++++++------------
 Fight/GameActor/PartialModelResConfig.cs  |    2 
 4 files changed, 155 insertions(+), 553 deletions(-)

diff --git a/Core/GameEngine/Model/Config/NPCConfig.cs b/Core/GameEngine/Model/Config/NPCConfig.cs
index 4f19560..f068c11 100644
--- a/Core/GameEngine/Model/Config/NPCConfig.cs
+++ b/Core/GameEngine/Model/Config/NPCConfig.cs
@@ -13,66 +13,66 @@
 {
 
     public readonly int NPCID;
-	public readonly int NPCType;
-	public readonly string MODE;
-	public readonly string charName;
-	public readonly int NPCLV;
-	public readonly float ModleHeight;
-	public readonly float ModelRadius;
-	public readonly float ModeProportion;
-	public readonly Vector3 UIModeLOffset;
-	public readonly float UIModeLProportion;
-	public readonly Vector3 UIModelRotation;
-	public readonly int CanDeadFly;
-	public readonly int Country;
-	public readonly int MinAtk;
-	public readonly int MaxAtk;
-	public readonly int Def;
-	public readonly int Realm;
-	public readonly int PoisionAtk;
-	public readonly int FireAtk;
-	public readonly int IceAtk;
-	public readonly int PoisionDef;
-	public readonly int IceDef;
-	public readonly int AtkInterval;
-	public readonly int Hit;
-	public readonly int MissRate;
-	public readonly int SuperHiteRate;
-	public readonly int OrgSpeed;
-	public readonly int MoveType;
-	public readonly int AtkDist;
-	public readonly int Skill1;
-	public readonly int Skill2;
-	public readonly int Skill3;
-	public readonly int Skill4;
-	public readonly int Skill5;
-	public readonly int Skill6;
-	public readonly int Skill7;
-	public readonly int Skill8;
-	public readonly int AtkType;
-	public readonly int Sight;
-	public readonly int MoveArea;
-	public readonly int DHP;
-	public readonly int MaxHPEx;
-	public readonly int IsBoss;
-	public readonly int SP;
-	public readonly int AIType;
-	public readonly int CanAttack;
-	public readonly float weight;
-	public readonly string HeadPortrait;
-	public readonly int Show;
-	public readonly int AtkFeedback;
-	public readonly int hurtFeedback;
-	public readonly int AutomaticFace;
-	public readonly int Dig;
-	public readonly int[] Sounds;
-	public readonly int LifeBarCount;
-	public readonly int NPCEffect;
-	public readonly int NPCSpeakID;
-	public readonly int ClientRealm;
-	public readonly string Equips;
+    public readonly int NPCType;
+    public readonly string MODE;
+    public readonly string charName;
+    public readonly int NPCLV;
+    public readonly float ModleHeight;
+    public readonly float ModelRadius;
+    public readonly float ModeProportion;
+    public readonly Vector3 UIModeLOffset;
+    public readonly float UIModeLProportion;
+    public readonly Vector3 UIModelRotation;
+    public readonly int CanDeadFly;
+    public readonly int Country;
+    public readonly int MinAtk;
+    public readonly int MaxAtk;
+    public readonly int Def;
+    public readonly int Realm;
+    public readonly int PoisionAtk;
+    public readonly int FireAtk;
+    public readonly int IceAtk;
+    public readonly int PoisionDef;
+    public readonly int IceDef;
+    public readonly int AtkInterval;
+    public readonly int Hit;
+    public readonly int MissRate;
+    public readonly int SuperHiteRate;
+    public readonly int OrgSpeed;
+    public readonly int MoveType;
+    public readonly int AtkDist;
+    public readonly int Skill1;
+    public readonly int Skill2;
+    public readonly int Skill3;
+    public readonly int Skill4;
+    public readonly int Skill5;
+    public readonly int Skill6;
+    public readonly int Skill7;
+    public readonly int Skill8;
+    public readonly int AtkType;
+    public readonly int Sight;
+    public readonly int MoveArea;
+    public readonly int DHP;
+    public readonly int MaxHPEx;
+    public readonly int IsBoss;
+    public readonly int SP;
+    public readonly int AIType;
+    public readonly int CanAttack;
+    public readonly float weight;
+    public readonly string HeadPortrait;
+    public readonly int Show;
+    public readonly int AtkFeedback;
+    public readonly int hurtFeedback;
+    public readonly int AutomaticFace;
+    public readonly int Dig;
+    public readonly int[] Sounds;
+    public readonly int LifeBarCount;
+    public readonly int NPCEffect;
+    public readonly int NPCSpeakID;
+    public readonly int ClientRealm;
+    public readonly string Equips;
 
-	public NPCConfig()
+    public NPCConfig()
     {
     }
 
@@ -82,128 +82,128 @@
         {
             var tables = input.Split('\t');
 
-            int.TryParse(tables[0],out NPCID); 
+            int.TryParse(tables[0], out NPCID);
 
-			int.TryParse(tables[1],out NPCType); 
+            int.TryParse(tables[1], out NPCType);
 
-			MODE = tables[2];
+            MODE = tables[2];
 
-			charName = tables[3];
+            charName = tables[3];
 
-			int.TryParse(tables[4],out NPCLV); 
+            int.TryParse(tables[4], out NPCLV);
 
-			float.TryParse(tables[5],out ModleHeight); 
+            float.TryParse(tables[5], out ModleHeight);
 
-			float.TryParse(tables[6],out ModelRadius); 
+            float.TryParse(tables[6], out ModelRadius);
 
-			float.TryParse(tables[7],out ModeProportion); 
+            float.TryParse(tables[7], out ModeProportion);
 
-			UIModeLOffset=tables[8].Vector3Parse();
+            UIModeLOffset = tables[8].Vector3Parse();
 
-			float.TryParse(tables[9],out UIModeLProportion); 
+            float.TryParse(tables[9], out UIModeLProportion);
 
-			UIModelRotation=tables[10].Vector3Parse();
+            UIModelRotation = tables[10].Vector3Parse();
 
-			int.TryParse(tables[11],out CanDeadFly); 
+            int.TryParse(tables[11], out CanDeadFly);
 
-			int.TryParse(tables[12],out Country); 
+            int.TryParse(tables[12], out Country);
 
-			int.TryParse(tables[13],out MinAtk); 
+            int.TryParse(tables[13], out MinAtk);
 
-			int.TryParse(tables[14],out MaxAtk); 
+            int.TryParse(tables[14], out MaxAtk);
 
-			int.TryParse(tables[15],out Def); 
+            int.TryParse(tables[15], out Def);
 
-			int.TryParse(tables[16],out Realm); 
+            int.TryParse(tables[16], out Realm);
 
-			int.TryParse(tables[17],out PoisionAtk); 
+            int.TryParse(tables[17], out PoisionAtk);
 
-			int.TryParse(tables[18],out FireAtk); 
+            int.TryParse(tables[18], out FireAtk);
 
-			int.TryParse(tables[19],out IceAtk); 
+            int.TryParse(tables[19], out IceAtk);
 
-			int.TryParse(tables[20],out PoisionDef); 
+            int.TryParse(tables[20], out PoisionDef);
 
-			int.TryParse(tables[21],out IceDef); 
+            int.TryParse(tables[21], out IceDef);
 
-			int.TryParse(tables[22],out AtkInterval); 
+            int.TryParse(tables[22], out AtkInterval);
 
-			int.TryParse(tables[23],out Hit); 
+            int.TryParse(tables[23], out Hit);
 
-			int.TryParse(tables[24],out MissRate); 
+            int.TryParse(tables[24], out MissRate);
 
-			int.TryParse(tables[25],out SuperHiteRate); 
+            int.TryParse(tables[25], out SuperHiteRate);
 
-			int.TryParse(tables[26],out OrgSpeed); 
+            int.TryParse(tables[26], out OrgSpeed);
 
-			int.TryParse(tables[27],out MoveType); 
+            int.TryParse(tables[27], out MoveType);
 
-			int.TryParse(tables[28],out AtkDist); 
+            int.TryParse(tables[28], out AtkDist);
 
-			int.TryParse(tables[29],out Skill1); 
+            int.TryParse(tables[29], out Skill1);
 
-			int.TryParse(tables[30],out Skill2); 
+            int.TryParse(tables[30], out Skill2);
 
-			int.TryParse(tables[31],out Skill3); 
+            int.TryParse(tables[31], out Skill3);
 
-			int.TryParse(tables[32],out Skill4); 
+            int.TryParse(tables[32], out Skill4);
 
-			int.TryParse(tables[33],out Skill5); 
+            int.TryParse(tables[33], out Skill5);
 
-			int.TryParse(tables[34],out Skill6); 
+            int.TryParse(tables[34], out Skill6);
 
-			int.TryParse(tables[35],out Skill7); 
+            int.TryParse(tables[35], out Skill7);
 
-			int.TryParse(tables[36],out Skill8); 
+            int.TryParse(tables[36], out Skill8);
 
-			int.TryParse(tables[37],out AtkType); 
+            int.TryParse(tables[37], out AtkType);
 
-			int.TryParse(tables[38],out Sight); 
+            int.TryParse(tables[38], out Sight);
 
-			int.TryParse(tables[39],out MoveArea); 
+            int.TryParse(tables[39], out MoveArea);
 
-			int.TryParse(tables[40],out DHP); 
+            int.TryParse(tables[40], out DHP);
 
-			int.TryParse(tables[41],out MaxHPEx); 
+            int.TryParse(tables[41], out MaxHPEx);
 
-			int.TryParse(tables[42],out IsBoss); 
+            int.TryParse(tables[42], out IsBoss);
 
-			int.TryParse(tables[43],out SP); 
+            int.TryParse(tables[43], out SP);
 
-			int.TryParse(tables[44],out AIType); 
+            int.TryParse(tables[44], out AIType);
 
-			int.TryParse(tables[45],out CanAttack); 
+            int.TryParse(tables[45], out CanAttack);
 
-			float.TryParse(tables[46],out weight); 
+            float.TryParse(tables[46], out weight);
 
-			HeadPortrait = tables[47];
+            HeadPortrait = tables[47];
 
-			int.TryParse(tables[48],out Show); 
+            int.TryParse(tables[48], out Show);
 
-			int.TryParse(tables[49],out AtkFeedback); 
+            int.TryParse(tables[49], out AtkFeedback);
 
-			int.TryParse(tables[50],out hurtFeedback); 
+            int.TryParse(tables[50], out hurtFeedback);
 
-			int.TryParse(tables[51],out AutomaticFace); 
+            int.TryParse(tables[51], out AutomaticFace);
 
-			int.TryParse(tables[52],out Dig); 
+            int.TryParse(tables[52], out Dig);
 
-			string[] SoundsStringArray = tables[53].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
-			Sounds = new int[SoundsStringArray.Length];
-			for (int i=0;i<SoundsStringArray.Length;i++)
-			{
-				 int.TryParse(SoundsStringArray[i],out Sounds[i]);
-			}
+            string[] SoundsStringArray = tables[53].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
+            Sounds = new int[SoundsStringArray.Length];
+            for (int i = 0; i < SoundsStringArray.Length; i++)
+            {
+                int.TryParse(SoundsStringArray[i], out Sounds[i]);
+            }
 
-			int.TryParse(tables[54],out LifeBarCount); 
+            int.TryParse(tables[54], out LifeBarCount);
 
-			int.TryParse(tables[55],out NPCEffect); 
+            int.TryParse(tables[55], out NPCEffect);
 
-			int.TryParse(tables[56],out NPCSpeakID); 
+            int.TryParse(tables[56], out NPCSpeakID);
 
-			int.TryParse(tables[57],out ClientRealm); 
+            int.TryParse(tables[57], out ClientRealm);
 
-			Equips = tables[58];
+            Equips = tables[58];
         }
         catch (Exception ex)
         {
@@ -213,13 +213,13 @@
 
     static Dictionary<string, NPCConfig> configs = new Dictionary<string, NPCConfig>();
     public static NPCConfig Get(string id)
-    {   
-		if (!inited)
+    {
+        if (!inited)
         {
             Debug.Log("NPCConfig 杩樻湭瀹屾垚鍒濆鍖栥��");
             return null;
         }
-		
+
         if (configs.ContainsKey(id))
         {
             return configs[id];
@@ -235,7 +235,7 @@
         return config;
     }
 
-	public static NPCConfig Get(int id)
+    public static NPCConfig Get(int id)
     {
         return Get(id.ToString());
     }
@@ -262,32 +262,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 +"/NPC.txt";
+            path = ResourcesPath.CONFIG_FODLER + "/NPC.txt";
         }
         else
         {
             path = AssetVersionUtility.GetAssetFilePath("config/NPC.txt");
         }
 
-		var tempConfig = new NPCConfig();
+        var tempConfig = new NPCConfig();
         var preParse = tempConfig is IConfigPostProcess;
 
         if (sync)
@@ -305,38 +305,42 @@
 
                 if (preParse)
                 {
-                    configs[id] = new NPCConfig(line);
+                    var config = new NPCConfig(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 NPCConfig(line);
-					}
-					else
-					{
-						rawDatas[id] = line;
-					}
+                    if (preParse)
+                    {
+                        var config = new NPCConfig(line);
+                        configs[id] = config;
+                        (config as IConfigPostProcess).OnConfigParseCompleted();
+                    }
+                    else
+                    {
+                        rawDatas[id] = line;
+                    }
                 }
 
                 inited = true;
diff --git a/Core/GameEngine/Model/ConfigBase.cs b/Core/GameEngine/Model/ConfigBase.cs
index f5c6b03..a46103d 100644
--- a/Core/GameEngine/Model/ConfigBase.cs
+++ b/Core/GameEngine/Model/ConfigBase.cs
@@ -1,38 +1,6 @@
-锘縰sing System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using System.Text.RegularExpressions;
-
-
+锘�
 public interface IConfigPostProcess
 {
     void OnConfigParseCompleted();
 }
 
-public class ConfigBase
-{
-    public ConfigBase()
-    {
-    }
-
-    public ConfigBase(string content)
-    {
-
-    }
-
-    public virtual string getKey()
-    {
-        return string.Empty;
-    }
-
-    public virtual void Parse(string content)
-    {
-
-    }
-
-    protected static bool IsNumeric(string value)
-    {
-        return !string.IsNullOrEmpty(value) && Regex.IsMatch(value, @"^[+-]?\d*[.]?\d*$");
-    }
-
-}
diff --git a/Core/GameEngine/Model/ConfigManager.cs b/Core/GameEngine/Model/ConfigManager.cs
index 35bc3a0..1e0146b 100644
--- a/Core/GameEngine/Model/ConfigManager.cs
+++ b/Core/GameEngine/Model/ConfigManager.cs
@@ -20,24 +20,6 @@
         private set { m_Inited = value; }
     }
 
-    Dictionary<int, Dictionary<string, ConfigBase>> configDictionary = new Dictionary<int, Dictionary<string, ConfigBase>>();
-
-    public void RegisterGlobalEvent()
-    {
-        SnxxzGame.Instance.RemoveApplicationOutAction(OnApplicationOut);
-        SnxxzGame.Instance.AddApplicationOutAction(OnApplicationOut);
-    }
-
-    public void LoadPriorBundleConfig()
-    {
-    }
-
-    public void PreLoadConfigs()
-    {
-    }
-
-    List<ConfigTask> configTasks = new List<ConfigTask>();
-
     public IEnumerator Co_LoadConfigs()
     {
 
@@ -91,49 +73,6 @@
 
     public void SyncLoadConfigs()
     {
-    }
-
-    public bool AllCompleted()
-    {
-        foreach (var task in configTasks)
-        {
-            if (task.state != TaskState.ParseSuccess)
-            {
-                // DesignDebug.LogFormat("鏈畬鎴愭槸閰嶇疆瑙f瀽浠诲姟锛歿0},褰撳墠鐘舵�侊細{1}", task.taskName, task.state);
-                return false;
-            }
-        }
-
-        return true;
-    }
-
-    public float GetProgress()
-    {
-        var count = 0;
-        foreach (var task in configTasks)
-        {
-            if (task.state == TaskState.ParseSuccess)
-            {
-                count++;
-            }
-        }
-
-        return (float)count / configTasks.Count;
-    }
-
-    public int GetTaskCount()
-    {
-        return configTasks.Count;
-    }
-
-    public void ConfigParsePostProcess()
-    {
-        foreach (var task in configTasks)
-        {
-            configDictionary[task.token] = task.container;
-        }
-
-        inited = true;
     }
 
     int GetMinWorkingTaskCount()
@@ -204,315 +143,6 @@
             default:
                 return 5;
         }
-    }
-
-    ConfigTask AddAsyncTask<T>() where T : ConfigBase, new()
-    {
-        var typeName = typeof(T).Name;
-        var path = string.Empty;
-        var fileName = typeName.Substring(0, typeName.Length - 6);
-
-        if (AssetSource.refdataFromEditor)
-        {
-            path = ResourcesPath.CONFIG_FODLER + "/" + fileName + ".txt";
-        }
-        else
-        {
-            path = AssetVersionUtility.GetAssetFilePath(StringUtility.Contact("config/", fileName, ".txt"));
-        }
-
-        var task = new ConfigTask(typeof(T), path);
-        Action<ConfigTask> launch = (ConfigTask _task) => { ReadFile(_task, OnEndReadFile<T>); };
-        task.launch = launch;
-        configTasks.Add(task);
-
-        return task;
-    }
-
-    void StartAsyncTask(ConfigTask _task)
-    {
-        _task.state = TaskState.Working;
-        _task.launch(_task);
-    }
-
-    void ReadFile(ConfigTask _task, Action<ConfigTask> _callBack)
-    {
-        ThreadPool.QueueUserWorkItem(
-            (object _obj) =>
-            {
-                string[] lines = null;
-                try
-                {
-                    lines = File.ReadAllLines(_task.filePath, Encoding.UTF8);
-                    _task.state = TaskState.ReadFileSuccess;
-                }
-                catch (Exception ex)
-                {
-                    _task.state = TaskState.ReadFileFailure;
-                    DebugEx.Log(ex);
-                }
-                finally
-                {
-                    _task.contentLines = lines;
-                    if (_callBack != null)
-                    {
-                        _callBack(_task);
-                    }
-                }
-            }
-            );
-
-    }
-
-    void AsyncParseConfig<T>(ConfigTask _task, Action<ConfigTask> _callBack) where T : ConfigBase, new()
-    {
-        ThreadPool.QueueUserWorkItem(
-            (object _obj) =>
-            {
-                try
-                {
-                    var count = 0;
-
-                    var container = _task.container as Dictionary<string, ConfigBase>;
-                    for (int i = 3; i < _task.contentLines.Length; i++)
-                    {
-                        var newConfig = new T();
-                        newConfig.Parse(_task.contentLines[i]);
-                        if (newConfig is IConfigPostProcess)
-                        {
-                            (newConfig as IConfigPostProcess).OnConfigParseCompleted();
-                        }
-
-                        container[newConfig.getKey()] = newConfig;
-                        count++;
-                        if (count >= 500)
-                        {
-                            count = 0;
-                            Thread.Sleep(30);
-                        }
-                    }
-
-                    _task.state = TaskState.ParseSuccess;
-                }
-                catch (Exception ex)
-                {
-                    _task.state = TaskState.ParseFailure;
-                    DebugEx.Log(ex);
-                }
-                finally
-                {
-                    if (_callBack != null)
-                    {
-                        _callBack(_task);
-                    }
-                }
-            }
-            );
-    }
-
-    private void OnEndReadFile<T>(ConfigTask _task) where T : ConfigBase, new()
-    {
-        if (isPlaying && _task.state == TaskState.ReadFileFailure)
-        {
-            Thread.Sleep(30);
-            ReadFile(_task, OnEndReadFile<T>);
-        }
-        else
-        {
-            _task.capacity = Mathf.Max(_task.contentLines.Length - 3, 0);
-            _task.container = new Dictionary<string, ConfigBase>(_task.capacity);
-            AsyncParseConfig<T>(_task, OnEndParse<T>);
-        }
-    }
-
-    private void OnEndParse<T>(ConfigTask _task) where T : ConfigBase, new()
-    {
-        if (isPlaying && _task.state == TaskState.ParseFailure)
-        {
-            Debug.LogFormat("閰嶇疆琛ㄨВ鏋愬け璐ワ細{0}", _task.taskName);
-            Thread.Sleep(30);
-            ReadFile(_task, OnEndReadFile<T>);
-        }
-    }
-
-    private void StartSyncTask<T>() where T : ConfigBase, new()
-    {
-        var typeName = typeof(T).Name;
-        var fileName = typeName.Substring(0, typeName.Length - 6);
-        var path = string.Empty;
-
-        if (Application.isEditor || AssetSource.refdataFromEditor)
-        {
-            path = ResourcesPath.CONFIG_FODLER + "/" + fileName + ".txt";
-        }
-        else
-        {
-            path = AssetVersionUtility.GetAssetFilePath(StringUtility.Contact("config/", fileName, ".txt"));
-        }
-
-        var task = new ConfigTask(typeof(T), path);
-        task.contentLines = File.ReadAllLines(path, Encoding.UTF8);
-        if (task.contentLines != null && task.contentLines.Length > 3)
-        {
-            var length = Mathf.Max(task.contentLines.Length - 3, 0);
-            task.capacity = length;
-            task.container = new Dictionary<string, ConfigBase>(length);
-            task.state = TaskState.ReadFileSuccess;
-            SyncParseConfig<T>(task);
-        }
-        else
-        {
-            task.state = TaskState.ReadFileFailure;
-        }
-    }
-
-    private void SyncParseConfig<T>(ConfigTask _task) where T : ConfigBase, new()
-    {
-        try
-        {
-            for (int i = 3; i < _task.contentLines.Length; i++)
-            {
-                var newConfig = new T();
-                newConfig.Parse(_task.contentLines[i]);
-
-                if (newConfig is IConfigPostProcess)
-                {
-                    (newConfig as IConfigPostProcess).OnConfigParseCompleted();
-                }
-
-                _task.container[newConfig.getKey()] = newConfig;
-            }
-        }
-        catch (Exception ex)
-        {
-            DebugEx.Log(ex);
-        }
-        finally
-        {
-            _task.state = TaskState.ParseSuccess;
-            configDictionary[_task.token] = _task.container;
-        }
-
-    }
-
-    public T Get<T>(string _dwTemplateID) where T : ConfigBase, new()
-    {
-        if (string.IsNullOrEmpty(_dwTemplateID))
-        {
-            return null;
-        }
-
-        var token = typeof(T).MetadataToken;
-        if (configDictionary.ContainsKey(token) == false)
-        {
-            DebugEx.LogErrorFormat("not find the config:{0}", token);
-            return null;
-        }
-
-        ConfigBase config = null;
-        var dic = configDictionary[token];
-        if (!dic.ContainsKey(_dwTemplateID))
-        {
-            DebugEx.LogFormat("not find the config:{0},<color=#ff0000ff>ID:{1}</color>", typeof(T).Name, _dwTemplateID);
-        }
-        else
-        {
-            config = dic[_dwTemplateID];
-        }
-
-        return config as T;
-    }
-
-    public T Get<T>(int _dwTemplateID) where T : ConfigBase, new()
-    {
-        return Get<T>(_dwTemplateID.ToString());
-    }
-
-    public bool ContainKey<T>(int _id)
-    {
-        return ContainKey<T>(_id.ToString());
-    }
-
-    public bool ContainKey<T>(string _key)
-    {
-        if (string.IsNullOrEmpty(_key))
-        {
-            return false;
-        }
-
-        var token = typeof(T).MetadataToken;
-        if (configDictionary.ContainsKey(token) == false)
-        {
-            return false;
-        }
-
-        var dic = configDictionary[token];
-        return dic.ContainsKey(_key);
-    }
-
-    public List<string> GetAllKeys<T>() where T : ConfigBase
-    {
-        var token = typeof(T).MetadataToken;
-        if (!configDictionary.ContainsKey(token))
-        {
-            DebugEx.LogErrorFormat("not find the dic of config: {0}", typeof(T).Name);
-            return null;
-        }
-
-        var dicTemplate = configDictionary[token];
-        return new List<string>(dicTemplate.Keys);
-    }
-
-    public List<T> GetAllValues<T>() where T : ConfigBase, new()
-    {
-        var token = typeof(T).MetadataToken;
-        if (!configDictionary.ContainsKey(token))
-        {
-            DebugEx.LogErrorFormat("not find the dic of config: {0}", typeof(T).Name);
-            return null;
-        }
-
-        var configs = new List<T>();
-        var dicTemplate = configDictionary[token];
-        foreach (var value in dicTemplate.Values)
-        {
-            configs.Add(value as T);
-        }
-
-        return configs;
-    }
-
-    class ConfigTask
-    {
-        public readonly Type type;
-        public readonly int token;
-        public readonly string taskName;
-        public readonly string filePath;
-
-        public Action<ConfigTask> launch;
-        public int capacity = 0;
-        public string[] contentLines;
-        public Dictionary<string, ConfigBase> container;
-        public TaskState state = TaskState.None;
-
-        public ConfigTask(Type _type, string _filePath)
-        {
-            type = _type;
-            taskName = type.Name;
-            token = type.MetadataToken;
-
-            filePath = _filePath;
-        }
-    }
-
-    public enum TaskState
-    {
-        None = 0,
-        Working = 1,
-        ReadFileSuccess = 2,
-        ReadFileFailure = 3,
-        ParseFailure = 4,
-        ParseSuccess = 5,
     }
 
     private void OnApplicationOut()
diff --git a/Fight/GameActor/PartialModelResConfig.cs b/Fight/GameActor/PartialModelResConfig.cs
index 4060286..ea68165 100644
--- a/Fight/GameActor/PartialModelResConfig.cs
+++ b/Fight/GameActor/PartialModelResConfig.cs
@@ -2,7 +2,7 @@
 using System.Collections.Generic;
 
 
-public partial class ModelResConfig : ConfigBase, IConfigPostProcess
+public partial class ModelResConfig : IConfigPostProcess
 {
     private static readonly Dictionary<string, ModelResConfig> suitDict = new Dictionary<string, ModelResConfig>();
     private static readonly Dictionary<string, ModelResConfig> petDict = new Dictionary<string, ModelResConfig>();

--
Gitblit v1.8.0