| Core/GameEngine/Model/Config/EquipSuitNameConfig.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/GameEngine/Model/Config/EquipSuitNameConfig.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/GameEngine/Model/TelPartialConfig/PartialEquipSuitNameConfig.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/GameEngine/Model/TelPartialConfig/PartialEquipSuitNameConfig.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/ItemTip/TipSuitPropertyWidget.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Utility/ConfigInitiator.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Core/GameEngine/Model/Config/EquipSuitNameConfig.cs
New file @@ -0,0 +1,211 @@ //-------------------------------------------------------- // [Author]: Fish // [ Date ]: Friday, March 15, 2019 //-------------------------------------------------------- using System.Collections.Generic; using System.IO; using System.Threading; using System; using UnityEngine; [XLua.LuaCallCSharp] public partial class EquipSuitNameConfig { public readonly int id; public readonly int job; public readonly int level; public readonly int place; public readonly string name; public EquipSuitNameConfig() { } public EquipSuitNameConfig(string input) { try { var tables = input.Split('\t'); int.TryParse(tables[0],out id); int.TryParse(tables[1],out job); int.TryParse(tables[2],out level); int.TryParse(tables[3],out place); name = tables[4]; } catch (Exception ex) { DebugEx.Log(ex); } } static Dictionary<string, EquipSuitNameConfig> configs = new Dictionary<string, EquipSuitNameConfig>(); public static EquipSuitNameConfig Get(string id) { if (!inited) { Debug.Log("EquipSuitNameConfig 还未完成初始化。"); return null; } if (configs.ContainsKey(id)) { return configs[id]; } EquipSuitNameConfig config = null; if (rawDatas.ContainsKey(id)) { config = configs[id] = new EquipSuitNameConfig(rawDatas[id]); rawDatas.Remove(id); } return config; } public static EquipSuitNameConfig Get(int id) { return Get(id.ToString()); } public static List<string> GetKeys() { var keys = new List<string>(); keys.AddRange(configs.Keys); keys.AddRange(rawDatas.Keys); return keys; } public static List<EquipSuitNameConfig> GetValues() { var values = new List<EquipSuitNameConfig>(); values.AddRange(configs.Values); var keys = new List<string>(rawDatas.Keys); foreach (var key in keys) { values.Add(Get(key)); } return values; } public static bool Has(string id) { return configs.ContainsKey(id) || rawDatas.ContainsKey(id); } public static bool Has(int id) { return Has(id.ToString()); } public static bool inited { get; private set; } protected static Dictionary<string, string> rawDatas = new Dictionary<string, string>(); public static void Init(bool sync=false) { inited = false; var path = string.Empty; if (AssetSource.refdataFromEditor) { path = ResourcesPath.CONFIG_FODLER +"/EquipSuitName.txt"; } else { path = AssetVersionUtility.GetAssetFilePath("config/EquipSuitName.txt"); } var tempConfig = new EquipSuitNameConfig(); var preParse = tempConfig is IConfigPostProcess; if (sync) { var lines = File.ReadAllLines(path); if (!preParse) { rawDatas = new Dictionary<string, string>(lines.Length - 3); } for (int i = 3; i < lines.Length; i++) { try { var line = lines[i]; var index = line.IndexOf("\t"); if (index == -1) { continue; } var id = line.Substring(0, index); if (preParse) { var config = new EquipSuitNameConfig(line); configs[id] = config; (config as IConfigPostProcess).OnConfigParseCompleted(); } else { rawDatas[id] = line; } } catch (System.Exception ex) { Debug.LogError(ex); } } inited = true; } else { ThreadPool.QueueUserWorkItem((object _object) => { var lines = File.ReadAllLines(path); if (!preParse) { rawDatas = new Dictionary<string, string>(lines.Length - 3); } for (int i = 3; i < lines.Length; i++) { try { var line = lines[i]; var index = line.IndexOf("\t"); if (index == -1) { continue; } var id = line.Substring(0, index); if (preParse) { var config = new EquipSuitNameConfig(line); configs[id] = config; (config as IConfigPostProcess).OnConfigParseCompleted(); } else { rawDatas[id] = line; } } catch (System.Exception ex) { Debug.LogError(ex); } } inited = true; }); } } } Core/GameEngine/Model/Config/EquipSuitNameConfig.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 070e7100278e01e428377d5516675e8b timeCreated: 1552634154 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/GameEngine/Model/TelPartialConfig/PartialEquipSuitNameConfig.cs
New file @@ -0,0 +1,21 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; public partial class EquipSuitNameConfig : IConfigPostProcess { static Dictionary<int, string> suitNames = new Dictionary<int, string>(); public void OnConfigParseCompleted() { var key = level * 10000 + place * 1000 + job/100; suitNames[key] = name; } public static string GetSuitName(int level, int place, int job) { var key = level * 10000 + place * 1000 + job; return suitNames.ContainsKey(key) ? suitNames[key] : string.Empty; } } Core/GameEngine/Model/TelPartialConfig/PartialEquipSuitNameConfig.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 58b6f20a20d8b2e4680ca0b49402051a timeCreated: 1552633259 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/ItemTip/TipSuitPropertyWidget.cs
@@ -29,8 +29,7 @@ m_SuitName.text = suitInfo.name; for (int i = 0; i < m_SuitEquipNames.Length; i++) { m_SuitEquipNames[i].text = EquipSuitNameConfig.GetSuitName(suitInfo.level, i + 1); m_SuitEquipNames[i].text = EquipSuitNameConfig.GetSuitName(suitInfo.level, i + 1, suitInfo.job); var hasSuit = suitInfo.places.Contains(i + 1); m_SuitEquipNames[i].color = UIHelper.GetUIColor(hasSuit ? TextColType.Green : TextColType.White, true); } @@ -53,7 +52,7 @@ { m_TwoSuit.Display(suitInfo.twoSuitProperties[star]); m_FiveSuit.Display(suitInfo.fiveSuitProperties[star]); m_EightSuitDescription.text = GetEightSuitDescription(suitInfo.job, suitInfo.level, star); m_EightSuitDescription.text = GetEightSuitDescription(suitInfo.job , suitInfo.level, star); var eightSuitActive = suitInfo.eightSuits[star]; var color = UIHelper.GetUIColor(eightSuitActive ? TextColType.Green : TextColType.White, true); m_EightSuitTitle.color = color; Utility/ConfigInitiator.cs
@@ -287,6 +287,7 @@ normalTasks.Add(new ConfigInitTask("EquipPlusEvolveConfig", () => { EquipPlusEvolveConfig.Init(); }, () => { return EquipPlusEvolveConfig.inited; })); normalTasks.Add(new ConfigInitTask("LegendPropertyValueConfig", () => { LegendPropertyValueConfig.Init(); }, () => { return LegendPropertyValueConfig.inited; })); normalTasks.Add(new ConfigInitTask("LegendPropertyConfig", () => { LegendPropertyConfig.Init(); }, () => { return LegendPropertyConfig.inited; })); normalTasks.Add(new ConfigInitTask("EquipSuitNameConfig", () => { EquipSuitNameConfig.Init(); }, () => { return EquipSuitNameConfig.inited; })); } static List<ConfigInitTask> doingTasks = new List<ConfigInitTask>();