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

---
 Core/GameEngine/Model/Config/NPCConfig.cs |  304 +++++++++++++++++++++++++-------------------------
 1 files changed, 150 insertions(+), 154 deletions(-)

diff --git a/Core/GameEngine/Model/Config/NPCConfig.cs b/Core/GameEngine/Model/Config/NPCConfig.cs
index f068c11..bbb022a 100644
--- a/Core/GameEngine/Model/Config/NPCConfig.cs
+++ b/Core/GameEngine/Model/Config/NPCConfig.cs
@@ -1,6 +1,6 @@
 锘�//--------------------------------------------------------
 //    [Author]:           Fish
-//    [  Date ]:           2019骞�2鏈�13鏃�
+//    [  Date ]:           Wednesday, February 13, 2019
 //--------------------------------------------------------
 
 using System.Collections.Generic;
@@ -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,42 +305,38 @@
 
                 if (preParse)
                 {
-                    var config = new NPCConfig(line);
-                    configs[id] = config;
-                    (config as IConfigPostProcess).OnConfigParseCompleted();
+                    configs[id] = new NPCConfig(line);
                 }
                 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)
-                    {
-                        var config = new NPCConfig(line);
-                        configs[id] = config;
-                        (config as IConfigPostProcess).OnConfigParseCompleted();
-                    }
-                    else
-                    {
-                        rawDatas[id] = line;
-                    }
+					if (preParse)
+					{
+						configs[id] = new NPCConfig(line);
+					}
+					else
+					{
+						rawDatas[id] = line;
+					}
                 }
 
                 inited = true;

--
Gitblit v1.8.0