| | |
| | |
|
| | | 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;
|
| | | }
|
| | | }
|
| | |
|