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