From f1f2599ba0e6b64358ffef7ae5c9f9af3ed8b8b4 Mon Sep 17 00:00:00 2001 From: client_linchunjie <461730578@qq.com> Date: 星期三, 17 四月 2019 16:35:02 +0800 Subject: [PATCH] Merge branch 'Alchemy' --- Core/GameEngine/Model/TelPartialConfig/tagAlchemyConfig.cs | 39 ++++++++++++++++++++++++++------------- 1 files changed, 26 insertions(+), 13 deletions(-) diff --git a/Core/GameEngine/Model/TelPartialConfig/tagAlchemyConfig.cs b/Core/GameEngine/Model/TelPartialConfig/tagAlchemyConfig.cs index ead6378..fde324c 100644 --- a/Core/GameEngine/Model/TelPartialConfig/tagAlchemyConfig.cs +++ b/Core/GameEngine/Model/TelPartialConfig/tagAlchemyConfig.cs @@ -3,29 +3,42 @@ public partial class AlchemyConfig : IConfigPostProcess { - private static Dictionary<int, List<AlchemyConfig>> s_alchemyModelDict = new Dictionary<int, List<AlchemyConfig>>();//鐢ㄤ簬璁板綍鍟嗗煄鏁版嵁 - private int type = 0; + static Dictionary<int, Dictionary<int, List<int>>> m_Alchemies = new Dictionary<int, Dictionary<int, List<int>>>(); public void OnConfigParseCompleted() { - type = (int)Math.Floor((double)AlchemyID / 100); - if (!s_alchemyModelDict.ContainsKey(type)) + Dictionary<int, List<int>> dict = null; + if (!m_Alchemies.TryGetValue(AlchemType, out dict)) { - List<AlchemyConfig> modellist = new List<AlchemyConfig>(); - modellist.Add(this); - s_alchemyModelDict.Add(type, modellist); + dict = new Dictionary<int, List<int>>(); + m_Alchemies.Add(AlchemType, dict); } - else + List<int> ids = null; + if (!dict.TryGetValue(AlchemyQuality, out ids)) { - s_alchemyModelDict[type].Add(this); + ids = new List<int>(); + dict.Add(AlchemyQuality, ids); } + ids.Add(ID); } - public static List<AlchemyConfig> GetTypeAlchemyModel(int type) + public static List<int> GetAlchemies(int type, int quality) { - List<AlchemyConfig> modellist = null; - s_alchemyModelDict.TryGetValue(type, out modellist); - return modellist; + if (m_Alchemies.ContainsKey(type) + && m_Alchemies[type].ContainsKey(quality)) + { + return m_Alchemies[type][quality]; + } + return null; + } + + public static ICollection<int> GetAlchemyQualities(int type) + { + if (m_Alchemies.ContainsKey(type)) + { + return m_Alchemies[type].Keys; + } + return null; } } -- Gitblit v1.8.0