From 786be46e6e29230779b556dca206f9d3599309ea Mon Sep 17 00:00:00 2001 From: client_Wu Xijin <364452445@qq.com> Date: 星期三, 13 二月 2019 17:49:02 +0800 Subject: [PATCH] 3335 配置表读取重构。 --- Assets/Scripts | 2 Assets/Editor/ScriptTemplate/ConfigDataTemplate.txt | 37 ++++++++++++++++-- Assets/Editor/Tool/SpriteManageTool.cs | 2 Assets/Editor/Actor/NpcResourcesBuilder.cs | 4 +- Assets/Editor/Tool/ExcelParseTool.cs | 12 +++--- Assets/Editor/Actor/ActorEditor.cs | 14 +++--- Assets/Editor/ScriptEditor/NewBieGuideEditorWindow.cs | 4 +- Assets/Editor/Tool/ConfigClassGenerate.cs | 5 -- 8 files changed, 51 insertions(+), 29 deletions(-) diff --git a/Assets/Editor/Actor/ActorEditor.cs b/Assets/Editor/Actor/ActorEditor.cs index 2e22008..79cbf3b 100644 --- a/Assets/Editor/Actor/ActorEditor.cs +++ b/Assets/Editor/Actor/ActorEditor.cs @@ -19,7 +19,7 @@ [MenuItem("绋嬪簭/瑙掕壊鐩稿叧/鍗歌浇NPC鍔ㄧ敾鐘舵�佹満")] static void RemoveAnimator() { - var _dict = Config.Instance.GetAllValues<NPCConfig>(); + var _dict = NPCConfig.GetValues(); int i = 0; foreach (var _model in _dict) { @@ -135,7 +135,7 @@ if (GUILayout.Button("鎵�鏈夌繀鑶�", GUILayout.Height(24))) { - var _dict = Config.Instance.GetAllValues<ModelResConfig>(); + var _dict = ModelResConfig.GetValues(); foreach (var _item in _dict) { if (_item.Type == (int)E_ModelResType.Wing) @@ -148,7 +148,7 @@ if (GUILayout.Button("鎵�鏈夋鍣�", GUILayout.Height(24))) { - var _dict = Config.Instance.GetAllValues<ModelResConfig>(); + var _dict = ModelResConfig.GetValues(); foreach (var _item in _dict) { if (_item.Type == (int)E_ModelResType.Weapon) @@ -161,7 +161,7 @@ if (GUILayout.Button("鎵�鏈夊壇鎵�", GUILayout.Height(24))) { - var _dict = Config.Instance.GetAllValues<ModelResConfig>(); + var _dict = ModelResConfig.GetValues(); foreach (var _item in _dict) { if (_item.Type == (int)E_ModelResType.Secondary) @@ -174,7 +174,7 @@ if (GUILayout.Button("鎵�鏈夎。鏈�", GUILayout.Height(24))) { - var _dict = Config.Instance.GetAllValues<ModelResConfig>(); + var _dict = ModelResConfig.GetValues(); foreach (var _item in _dict) { if (_item.Type == (int)E_ModelResType.Suit) @@ -187,7 +187,7 @@ if (GUILayout.Button("鎵�鏈夊潗楠�", GUILayout.Height(24))) { - var _dict = Config.Instance.GetAllValues<ModelResConfig>(); + var _dict = ModelResConfig.GetValues(); foreach (var _item in _dict) { if (_item.Type == (int)E_ModelResType.Horse) @@ -202,7 +202,7 @@ bool _result = EditorUtility.DisplayDialog("娓╅Θ鎻愰啋", "鐢熸垚鎵�鏈夋崲瑁呰祫婧愬皢浼氳�楄垂姣旇緝闀跨殑鏃堕棿, 璇疯寰楀嚑鐐�, 鏄惁鏄渶瑕佺敓鎴愭墍鏈夌殑璧勬簮, 濡傛灉涓嶆槸, 璁板緱鍙互鍘绘帀涓嶇敓鎴愮殑璧勬簮,鏄笉鏄笉闇�瑕佺敓鎴愬凡缁忓瓨鍦ㄧ殑璧勬簮, 濡傛灉涓嶉渶瑕�, 璁板緱鍕鹃�塠鍙敓鎴愪笉瀛樺湪鐨刔", "纭鐢熸垚", "鎴戞寜閿欎簡"); if (_result) { - var _dict = Config.Instance.GetAllValues<ModelResConfig>(); + var _dict = ModelResConfig.GetValues(); foreach (var _item in _dict) { m_ModelResBuilder.BuildModelRes(_item.ID, m_HighMesh); diff --git a/Assets/Editor/Actor/NpcResourcesBuilder.cs b/Assets/Editor/Actor/NpcResourcesBuilder.cs index 9d776f9..ec03769 100644 --- a/Assets/Editor/Actor/NpcResourcesBuilder.cs +++ b/Assets/Editor/Actor/NpcResourcesBuilder.cs @@ -15,7 +15,7 @@ BuildAnimationClip1(modelName); BuildAnimatorController(modelName, outName, type); - var showConfigs = Config.Instance.GetAllValues<ActorShowConfig>(); + var showConfigs = ActorShowConfig.GetValues(); NPCConfig _npcModel = null; foreach (var _item in showConfigs) { @@ -39,7 +39,7 @@ } } - var realmConfigs = Config.Instance.GetAllValues<RealmConfig>(); + var realmConfigs = RealmConfig.GetValues(); foreach (var _realmConfig in realmConfigs) { _npcModel = NPCConfig.Get(_realmConfig.BossID); diff --git a/Assets/Editor/ScriptEditor/NewBieGuideEditorWindow.cs b/Assets/Editor/ScriptEditor/NewBieGuideEditorWindow.cs index 6b03857..e0d2cc9 100644 --- a/Assets/Editor/ScriptEditor/NewBieGuideEditorWindow.cs +++ b/Assets/Editor/ScriptEditor/NewBieGuideEditorWindow.cs @@ -454,7 +454,7 @@ if (Config.Instance.inited && newbieGuides == null) { newbieGuides = new List<NewBieGuide>(); - var guides = Config.Instance.GetAllValues<GuideConfig>(); + var guides = GuideConfig.GetValues(); foreach (var config in guides) { if (config.Type == 1) @@ -510,7 +510,7 @@ if (Config.Instance.inited && functionalGuides == null) { functionalGuides = new List<FunctionalGuide>(); - var guides = Config.Instance.GetAllValues<GuideConfig>(); + var guides = GuideConfig.GetValues(); foreach (var config in guides) { if (config.Type == 2) diff --git a/Assets/Editor/ScriptTemplate/ConfigDataTemplate.txt b/Assets/Editor/ScriptTemplate/ConfigDataTemplate.txt index 7c2ba16..6bec637 100644 --- a/Assets/Editor/ScriptTemplate/ConfigDataTemplate.txt +++ b/Assets/Editor/ScriptTemplate/ConfigDataTemplate.txt @@ -14,6 +14,10 @@ #Field# + public #ClassName#() + { + } + public #ClassName#(string input) { try @@ -90,7 +94,7 @@ } public static bool inited { get; private set; } - protected static Dictionary<string, string> rawDatas = null; + protected static Dictionary<string, string> rawDatas = new Dictionary<string, string>(); public static void Init(bool sync=false) { inited = false; @@ -104,17 +108,30 @@ path = AssetVersionUtility.GetAssetFilePath("config/#FileName#.txt"); } + var tempConfig = new #ClassName#(); + var preParse = tempConfig is IConfigPostProcess; + if (sync) { var lines = File.ReadAllLines(path); - 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); - rawDatas[id] = line; + if (preParse) + { + configs[id] = new #ClassName#(line); + } + else + { + rawDatas[id] = line; + } } inited = true; } @@ -123,14 +140,24 @@ ThreadPool.QueueUserWorkItem((object _object) => { var lines = File.ReadAllLines(path); - 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); - rawDatas[id] = line; + if (preParse) + { + configs[id] = new #ClassName#(line); + } + else + { + rawDatas[id] = line; + } } inited = true; diff --git a/Assets/Editor/Tool/ConfigClassGenerate.cs b/Assets/Editor/Tool/ConfigClassGenerate.cs index 82242e0..73e6ecd 100644 --- a/Assets/Editor/Tool/ConfigClassGenerate.cs +++ b/Assets/Editor/Tool/ConfigClassGenerate.cs @@ -257,11 +257,6 @@ UnityEngine.Object o = CreateScriptAssetFromTemplate(newConfigPath, templatePath); AddConfigInit(newConfigPath); ProjectWindowUtil.ShowCreatedAsset(o); - - if (FileCreateEvent != null) - { - FileCreateEvent(); - } } internal static UnityEngine.Object CreateScriptAssetFromTemplate(string pathName, string resourceFile) diff --git a/Assets/Editor/Tool/ExcelParseTool.cs b/Assets/Editor/Tool/ExcelParseTool.cs index 649bc02..1981fc0 100644 --- a/Assets/Editor/Tool/ExcelParseTool.cs +++ b/Assets/Editor/Tool/ExcelParseTool.cs @@ -53,9 +53,9 @@ m_Englishs.Clear(); Config.Instance.SyncLoadConfigs(); m_FitterKeys.Clear(); - m_FitterKeys.AddRange(Config.Instance.GetAllKeys<LanguageConfig>()); - m_FitterKeys.AddRange(Config.Instance.GetAllKeys<SysInfoConfig>()); - m_FitterKeys.AddRange(Config.Instance.GetAllKeys<IconConfig>()); + m_FitterKeys.AddRange(LanguageConfig.GetKeys()); + m_FitterKeys.AddRange(SysInfoConfig.GetKeys()); + m_FitterKeys.AddRange(IconConfig.GetKeys()); FindEnglishLabel(); } @@ -86,9 +86,9 @@ } Config.Instance.SyncLoadConfigs(); m_FitterKeys.Clear(); - m_FitterKeys.AddRange(Config.Instance.GetAllKeys<LanguageConfig>()); - m_FitterKeys.AddRange(Config.Instance.GetAllKeys<SysInfoConfig>()); - m_FitterKeys.AddRange(Config.Instance.GetAllKeys<IconConfig>()); + m_FitterKeys.AddRange(LanguageConfig.GetKeys()); + m_FitterKeys.AddRange(SysInfoConfig.GetKeys()); + m_FitterKeys.AddRange(IconConfig.GetKeys()); FindEnglishLabel(true); } } diff --git a/Assets/Editor/Tool/SpriteManageTool.cs b/Assets/Editor/Tool/SpriteManageTool.cs index b80fb4b..972c9f9 100644 --- a/Assets/Editor/Tool/SpriteManageTool.cs +++ b/Assets/Editor/Tool/SpriteManageTool.cs @@ -126,7 +126,7 @@ private void OnEnable() { Config.Instance.SyncLoadConfigs(); - m_IconCfgs = Config.Instance.GetAllValues<IconConfig>(); + m_IconCfgs = IconConfig.GetValues(); m_DeleteTexture = EditorGUIUtility.FindTexture("TreeEditor.Trash"); InitStyle(); diff --git a/Assets/Scripts b/Assets/Scripts index c7f64d9..6165d89 160000 --- a/Assets/Scripts +++ b/Assets/Scripts @@ -1 +1 @@ -Subproject commit c7f64d977c4e2884d5411a5a2d0f37b6afa52963 +Subproject commit 6165d890f1d21e566161cb184b609e19f2662833 -- Gitblit v1.8.0