| Core/GameEngine/Model/Config/WashLevelMaxConfig.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/GameEngine/Model/Config/WashLevelMaxConfig.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/GameEngine/Model/TelPartialConfig/PartialWashLevelMaxConfig.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/GameEngine/Model/TelPartialConfig/PartialWashLevelMaxConfig.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Equip/EquipFrameWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/EquipTrain/EquipTrainCandidateBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Utility/ConfigInitiator.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Core/GameEngine/Model/Config/WashLevelMaxConfig.cs
New file @@ -0,0 +1,208 @@ //-------------------------------------------------------- // [Author]: Fish // [ Date ]: Monday, March 11, 2019 //-------------------------------------------------------- using System.Collections.Generic; using System.IO; using System.Threading; using System; using UnityEngine; [XLua.LuaCallCSharp] public partial class WashLevelMaxConfig { public readonly int id; public readonly int equipType; public readonly int equipStar; public readonly int levelMax; public WashLevelMaxConfig() { } public WashLevelMaxConfig(string input) { try { var tables = input.Split('\t'); int.TryParse(tables[0],out id); int.TryParse(tables[1],out equipType); int.TryParse(tables[2],out equipStar); int.TryParse(tables[3],out levelMax); } catch (Exception ex) { DebugEx.Log(ex); } } static Dictionary<string, WashLevelMaxConfig> configs = new Dictionary<string, WashLevelMaxConfig>(); public static WashLevelMaxConfig Get(string id) { if (!inited) { Debug.Log("WashLevelMaxConfig 还未完成初始化。"); return null; } if (configs.ContainsKey(id)) { return configs[id]; } WashLevelMaxConfig config = null; if (rawDatas.ContainsKey(id)) { config = configs[id] = new WashLevelMaxConfig(rawDatas[id]); rawDatas.Remove(id); } return config; } public static WashLevelMaxConfig 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<WashLevelMaxConfig> GetValues() { var values = new List<WashLevelMaxConfig>(); 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 +"/WashLevelMax.txt"; } else { path = AssetVersionUtility.GetAssetFilePath("config/WashLevelMax.txt"); } var tempConfig = new WashLevelMaxConfig(); 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 WashLevelMaxConfig(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 WashLevelMaxConfig(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/WashLevelMaxConfig.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 4f5f05a190827f847b600b3c9988650a timeCreated: 1552298504 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/GameEngine/Model/TelPartialConfig/PartialWashLevelMaxConfig.cs
New file @@ -0,0 +1,21 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; public partial class WashLevelMaxConfig : IConfigPostProcess { static Dictionary<int, WashLevelMaxConfig> washLevelMaxConfigs = new Dictionary<int, WashLevelMaxConfig>(); public void OnConfigParseCompleted() { var key = equipType * 100 + equipStar; washLevelMaxConfigs[key] = this; } public static WashLevelMaxConfig Get(int type, int star) { var key = type * 100 + star; return washLevelMaxConfigs.ContainsKey(key) ? washLevelMaxConfigs[key] : null; } } Core/GameEngine/Model/TelPartialConfig/PartialWashLevelMaxConfig.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 4d25380bc3cd23d479aa010336985565 timeCreated: 1552298532 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Equip/EquipFrameWin.cs
@@ -104,6 +104,8 @@ private void OpenTrainWin() { CloseSubWindows(); WindowCenter.Instance.Open<EquipTrainWin>(); functionOrder = m_Train.order; } private void CloseEquipFrameWin() System/EquipTrain/EquipTrainCandidateBehaviour.cs
@@ -6,10 +6,11 @@ using System.Collections; using UnityEngine.UI; namespace Snxxz.UI { namespace Snxxz.UI { public class EquipTrainCandidateBehaviour : MonoBehaviour { public class EquipTrainCandidateBehaviour : MonoBehaviour { [SerializeField] Image m_BackGround; [SerializeField] Image m_EmptyItem; [SerializeField] ItemCell m_ItemCell; @@ -17,17 +18,15 @@ [SerializeField] Text m_Description2; [SerializeField] Button m_Select; EquipStarModel model { get { return ModelCenter.Instance.GetModel<EquipStarModel>(); } } EquipTrainModel model { get { return ModelCenter.Instance.GetModel<EquipTrainModel>(); } } EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } } PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } } int place; EquipStarUpgradeCandidate candidate; EquipTrainCandidate candidate; public void Display(int place) public void Display(EquipTrainCandidate candidate) { this.place = place; this.candidate = model.GetCandidatePlace(this.place); this.candidate = candidate; DisplayBaseInfo(); DisplayDynamicInfo(true); @@ -63,7 +62,8 @@ m_ItemCell.Init(item); m_Description1.text = item.config.ItemName; m_Description1.color = UIHelper.GetUIColor(item.config.ItemColor); m_Description2.text = string.Empty; var trainLevel = model.GetTrainLevel(candidate.level, candidate.place); m_Description2.text = string.Format("洗练等级:{0}级", trainLevel); } } @@ -77,7 +77,6 @@ } } public class EquipTrainCandidateBehaviourPool { Utility/ConfigInitiator.cs
@@ -283,6 +283,7 @@ normalTasks.Add(new ConfigInitTask("EquipControlConfig", () => { EquipControlConfig.Init(); }, () => { return EquipControlConfig.inited; })); normalTasks.Add(new ConfigInitTask("EquipSuitConfig", () => { EquipSuitConfig.Init(); }, () => { return EquipSuitConfig.inited; })); normalTasks.Add(new ConfigInitTask("EquipStarConfig", () => { EquipStarConfig.Init(); }, () => { return EquipStarConfig.inited; })); normalTasks.Add(new ConfigInitTask("WashLevelMaxConfig", () => { WashLevelMaxConfig.Init(); }, () => { return WashLevelMaxConfig.inited; })); } static List<ConfigInitTask> doingTasks = new List<ConfigInitTask>();