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