From df240ab03e421ffe3581ca776b0c672f9d2fcb6f Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期二, 19 二月 2019 14:15:05 +0800
Subject: [PATCH] 3335 配置表解析优化。

---
 Lua/Gen/link.xml                                            |    1 
 Lua/Gen/XLuaGenAutoRegister.cs                              |   51 ++--
 Lua/Gen/GemItemConfigWrap.cs                                |  312 ++++++++++++++++++++++++++++
 Utility/ConfigInitiator.cs                                  |    3 
 Core/GameEngine/Model/Config/GemItemConfig.cs.meta          |   12 +
 Lua/Gen/GemItemConfigWrap.cs.meta                           |   12 +
 Core/GameEngine/Model/Config/GemItemConfig.cs               |  202 ++++++++++++++++++
 Core/GameEngine/Model/TelPartialConfig/tagChinItemConfig.cs |   20 -
 Lua/Gen/ItemConfigWrap.cs                                   |   14 
 9 files changed, 581 insertions(+), 46 deletions(-)

diff --git a/Core/GameEngine/Model/Config/GemItemConfig.cs b/Core/GameEngine/Model/Config/GemItemConfig.cs
new file mode 100644
index 0000000..be526a9
--- /dev/null
+++ b/Core/GameEngine/Model/Config/GemItemConfig.cs
@@ -0,0 +1,202 @@
+锘�//--------------------------------------------------------
+//    [Author]:           Fish
+//    [  Date ]:           Tuesday, February 19, 2019
+//--------------------------------------------------------
+
+using System.Collections.Generic;
+using System.IO;
+using System.Threading;
+using System;
+using UnityEngine;
+
+[XLua.LuaCallCSharp]
+public partial class GemItemConfig
+{
+
+    public readonly int ID;
+	public readonly int Type;
+
+	public GemItemConfig()
+    {
+    }
+
+    public GemItemConfig(string input)
+    {
+        try
+        {
+            var tables = input.Split('\t');
+
+            int.TryParse(tables[0],out ID); 
+
+			int.TryParse(tables[1],out Type); 
+        }
+        catch (Exception ex)
+        {
+            DebugEx.Log(ex);
+        }
+    }
+
+    static Dictionary<string, GemItemConfig> configs = new Dictionary<string, GemItemConfig>();
+    public static GemItemConfig Get(string id)
+    {   
+		if (!inited)
+        {
+            Debug.Log("GemItemConfig 杩樻湭瀹屾垚鍒濆鍖栥��");
+            return null;
+        }
+		
+        if (configs.ContainsKey(id))
+        {
+            return configs[id];
+        }
+
+        GemItemConfig config = null;
+        if (rawDatas.ContainsKey(id))
+        {
+            config = configs[id] = new GemItemConfig(rawDatas[id]);
+            rawDatas.Remove(id);
+        }
+
+        return config;
+    }
+
+	public static GemItemConfig 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<GemItemConfig> GetValues()
+    {
+        var values = new List<GemItemConfig>();
+        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 +"/GemItem.txt";
+        }
+        else
+        {
+            path = AssetVersionUtility.GetAssetFilePath("config/GemItem.txt");
+        }
+
+		var tempConfig = new GemItemConfig();
+        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 GemItemConfig(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 GemItemConfig(line);
+							configs[id] = config;
+							(config as IConfigPostProcess).OnConfigParseCompleted();
+						}
+						else
+						{
+							rawDatas[id] = line;
+						}
+					}
+					catch (System.Exception ex)
+                    {
+                        Debug.LogError(ex);
+                    }
+                }
+
+                inited = true;
+            });
+        }
+    }
+
+}
+
+
+
+
diff --git a/Core/GameEngine/Model/Config/GemItemConfig.cs.meta b/Core/GameEngine/Model/Config/GemItemConfig.cs.meta
new file mode 100644
index 0000000..a148955
--- /dev/null
+++ b/Core/GameEngine/Model/Config/GemItemConfig.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f710d587358c1a244aad12e7c6b2ea1c
+timeCreated: 1550556087
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Core/GameEngine/Model/TelPartialConfig/tagChinItemConfig.cs b/Core/GameEngine/Model/TelPartialConfig/tagChinItemConfig.cs
index b4ae238..03b0295 100644
--- a/Core/GameEngine/Model/TelPartialConfig/tagChinItemConfig.cs
+++ b/Core/GameEngine/Model/TelPartialConfig/tagChinItemConfig.cs
@@ -1,24 +1,18 @@
 锘縰sing System.Collections.Generic;
 using System.Text;
 
-public partial class ItemConfig : IConfigPostProcess
+public partial class ItemConfig
 {
     private static Dictionary<int, ItemConfig> m_GemCfgs = new Dictionary<int, ItemConfig>();
-    private const int GEM_TYPE_VALUE = 225;
 
-    public void OnConfigParseCompleted()
+    public static void GemItemInit()
     {
-        switch (Type)
+        GemItemConfig.Init(true);
+        var keys = GemItemConfig.GetKeys();
+        foreach (var key in keys)
         {
-            case 25:
-            case 140:
-                if (Effect1 == GEM_TYPE_VALUE)
-                {
-                    m_GemCfgs.Add(EffectValueB1 * 1000 + EffectValueA1, this);
-                }
-                break;
-            default:
-                break;
+            var config = ItemConfig.Get(key);
+            m_GemCfgs.Add(config.EffectValueB1 * 1000 + config.EffectValueA1, config);
         }
     }
 
diff --git a/Lua/Gen/GemItemConfigWrap.cs b/Lua/Gen/GemItemConfigWrap.cs
new file mode 100644
index 0000000..989d4ac
--- /dev/null
+++ b/Lua/Gen/GemItemConfigWrap.cs
@@ -0,0 +1,312 @@
+锘�#if USE_UNI_LUA
+using LuaAPI = UniLua.Lua;
+using RealStatePtr = UniLua.ILuaState;
+using LuaCSFunction = UniLua.CSharpFunctionDelegate;
+#else
+using LuaAPI = XLua.LuaDLL.Lua;
+using RealStatePtr = System.IntPtr;
+using LuaCSFunction = XLua.LuaDLL.lua_CSFunction;
+#endif
+
+using XLua;
+using System.Collections.Generic;
+
+
+namespace XLua.CSObjectWrap
+{
+    using Utils = XLua.Utils;
+    public class GemItemConfigWrap 
+    {
+        public static void __Register(RealStatePtr L)
+        {
+			ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
+			System.Type type = typeof(GemItemConfig);
+			Utils.BeginObjectRegister(type, L, translator, 0, 0, 2, 0);
+			
+			
+			
+			Utils.RegisterFunc(L, Utils.GETTER_IDX, "ID", _g_get_ID);
+            Utils.RegisterFunc(L, Utils.GETTER_IDX, "Type", _g_get_Type);
+            
+			
+			
+			Utils.EndObjectRegister(type, L, translator, null, null,
+			    null, null, null);
+
+		    Utils.BeginClassRegister(type, L, __CreateInstance, 6, 1, 0);
+			Utils.RegisterFunc(L, Utils.CLS_IDX, "Get", _m_Get_xlua_st_);
+            Utils.RegisterFunc(L, Utils.CLS_IDX, "GetKeys", _m_GetKeys_xlua_st_);
+            Utils.RegisterFunc(L, Utils.CLS_IDX, "GetValues", _m_GetValues_xlua_st_);
+            Utils.RegisterFunc(L, Utils.CLS_IDX, "Has", _m_Has_xlua_st_);
+            Utils.RegisterFunc(L, Utils.CLS_IDX, "Init", _m_Init_xlua_st_);
+            
+			
+            
+			Utils.RegisterFunc(L, Utils.CLS_GETTER_IDX, "inited", _g_get_inited);
+            
+			
+			
+			Utils.EndClassRegister(type, L, translator);
+        }
+        
+        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+        static int __CreateInstance(RealStatePtr L)
+        {
+            
+			try {
+                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
+				if(LuaAPI.lua_gettop(L) == 1)
+				{
+					
+					GemItemConfig gen_ret = new GemItemConfig();
+					translator.Push(L, gen_ret);
+                    
+					return 1;
+				}
+				if(LuaAPI.lua_gettop(L) == 2 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING))
+				{
+					string _input = LuaAPI.lua_tostring(L, 2);
+					
+					GemItemConfig gen_ret = new GemItemConfig(_input);
+					translator.Push(L, gen_ret);
+                    
+					return 1;
+				}
+				
+			}
+			catch(System.Exception gen_e) {
+				return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
+			}
+            return LuaAPI.luaL_error(L, "invalid arguments to GemItemConfig constructor!");
+            
+        }
+        
+		
+        
+		
+        
+        
+        
+        
+        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+        static int _m_Get_xlua_st_(RealStatePtr L)
+        {
+		    try {
+            
+                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
+            
+            
+            
+			    int gen_param_count = LuaAPI.lua_gettop(L);
+            
+                if(gen_param_count == 1&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 1)) 
+                {
+                    int _id = LuaAPI.xlua_tointeger(L, 1);
+                    
+                        GemItemConfig gen_ret = GemItemConfig.Get( _id );
+                        translator.Push(L, gen_ret);
+                    
+                    
+                    
+                    return 1;
+                }
+                if(gen_param_count == 1&& (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING)) 
+                {
+                    string _id = LuaAPI.lua_tostring(L, 1);
+                    
+                        GemItemConfig gen_ret = GemItemConfig.Get( _id );
+                        translator.Push(L, gen_ret);
+                    
+                    
+                    
+                    return 1;
+                }
+                
+            } catch(System.Exception gen_e) {
+                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
+            }
+            
+            return LuaAPI.luaL_error(L, "invalid arguments to GemItemConfig.Get!");
+            
+        }
+        
+        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+        static int _m_GetKeys_xlua_st_(RealStatePtr L)
+        {
+		    try {
+            
+                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
+            
+            
+            
+                
+                {
+                    
+                        System.Collections.Generic.List<string> gen_ret = GemItemConfig.GetKeys(  );
+                        translator.Push(L, gen_ret);
+                    
+                    
+                    
+                    return 1;
+                }
+                
+            } catch(System.Exception gen_e) {
+                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
+            }
+            
+        }
+        
+        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+        static int _m_GetValues_xlua_st_(RealStatePtr L)
+        {
+		    try {
+            
+                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
+            
+            
+            
+                
+                {
+                    
+                        System.Collections.Generic.List<GemItemConfig> gen_ret = GemItemConfig.GetValues(  );
+                        translator.Push(L, gen_ret);
+                    
+                    
+                    
+                    return 1;
+                }
+                
+            } catch(System.Exception gen_e) {
+                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
+            }
+            
+        }
+        
+        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+        static int _m_Has_xlua_st_(RealStatePtr L)
+        {
+		    try {
+            
+            
+            
+			    int gen_param_count = LuaAPI.lua_gettop(L);
+            
+                if(gen_param_count == 1&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 1)) 
+                {
+                    int _id = LuaAPI.xlua_tointeger(L, 1);
+                    
+                        bool gen_ret = GemItemConfig.Has( _id );
+                        LuaAPI.lua_pushboolean(L, gen_ret);
+                    
+                    
+                    
+                    return 1;
+                }
+                if(gen_param_count == 1&& (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING)) 
+                {
+                    string _id = LuaAPI.lua_tostring(L, 1);
+                    
+                        bool gen_ret = GemItemConfig.Has( _id );
+                        LuaAPI.lua_pushboolean(L, gen_ret);
+                    
+                    
+                    
+                    return 1;
+                }
+                
+            } catch(System.Exception gen_e) {
+                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
+            }
+            
+            return LuaAPI.luaL_error(L, "invalid arguments to GemItemConfig.Has!");
+            
+        }
+        
+        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+        static int _m_Init_xlua_st_(RealStatePtr L)
+        {
+		    try {
+            
+            
+            
+			    int gen_param_count = LuaAPI.lua_gettop(L);
+            
+                if(gen_param_count == 1&& LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 1)) 
+                {
+                    bool _sync = LuaAPI.lua_toboolean(L, 1);
+                    
+                    GemItemConfig.Init( _sync );
+                    
+                    
+                    
+                    return 0;
+                }
+                if(gen_param_count == 0) 
+                {
+                    
+                    GemItemConfig.Init(  );
+                    
+                    
+                    
+                    return 0;
+                }
+                
+            } catch(System.Exception gen_e) {
+                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
+            }
+            
+            return LuaAPI.luaL_error(L, "invalid arguments to GemItemConfig.Init!");
+            
+        }
+        
+        
+        
+        
+        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+        static int _g_get_inited(RealStatePtr L)
+        {
+		    try {
+            
+			    LuaAPI.lua_pushboolean(L, GemItemConfig.inited);
+            } catch(System.Exception gen_e) {
+                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
+            }
+            return 1;
+        }
+        
+        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+        static int _g_get_ID(RealStatePtr L)
+        {
+		    try {
+                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
+			
+                GemItemConfig gen_to_be_invoked = (GemItemConfig)translator.FastGetCSObj(L, 1);
+                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.ID);
+            } catch(System.Exception gen_e) {
+                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
+            }
+            return 1;
+        }
+        
+        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+        static int _g_get_Type(RealStatePtr L)
+        {
+		    try {
+                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
+			
+                GemItemConfig gen_to_be_invoked = (GemItemConfig)translator.FastGetCSObj(L, 1);
+                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.Type);
+            } catch(System.Exception gen_e) {
+                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
+            }
+            return 1;
+        }
+        
+        
+        
+		
+		
+		
+		
+    }
+}
diff --git a/Lua/Gen/GemItemConfigWrap.cs.meta b/Lua/Gen/GemItemConfigWrap.cs.meta
new file mode 100644
index 0000000..80ecf9b
--- /dev/null
+++ b/Lua/Gen/GemItemConfigWrap.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 2157b338ccbdff24abb78f3c253ad800
+timeCreated: 1550556878
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Lua/Gen/ItemConfigWrap.cs b/Lua/Gen/ItemConfigWrap.cs
index a139ab2..abe0bf7 100644
--- a/Lua/Gen/ItemConfigWrap.cs
+++ b/Lua/Gen/ItemConfigWrap.cs
@@ -21,9 +21,8 @@
         {
 			ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
 			System.Type type = typeof(ItemConfig);
-			Utils.BeginObjectRegister(type, L, translator, 0, 1, 70, 0);
+			Utils.BeginObjectRegister(type, L, translator, 0, 0, 70, 0);
 			
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnConfigParseCompleted", _m_OnConfigParseCompleted);
 			
 			
 			Utils.RegisterFunc(L, Utils.GETTER_IDX, "ID", _g_get_ID);
@@ -102,12 +101,13 @@
 			Utils.EndObjectRegister(type, L, translator, null, null,
 			    null, null, null);
 
-		    Utils.BeginClassRegister(type, L, __CreateInstance, 8, 1, 0);
+		    Utils.BeginClassRegister(type, L, __CreateInstance, 9, 1, 0);
 			Utils.RegisterFunc(L, Utils.CLS_IDX, "Get", _m_Get_xlua_st_);
             Utils.RegisterFunc(L, Utils.CLS_IDX, "GetKeys", _m_GetKeys_xlua_st_);
             Utils.RegisterFunc(L, Utils.CLS_IDX, "GetValues", _m_GetValues_xlua_st_);
             Utils.RegisterFunc(L, Utils.CLS_IDX, "Has", _m_Has_xlua_st_);
             Utils.RegisterFunc(L, Utils.CLS_IDX, "Init", _m_Init_xlua_st_);
+            Utils.RegisterFunc(L, Utils.CLS_IDX, "GemItemInit", _m_GemItemInit_xlua_st_);
             Utils.RegisterFunc(L, Utils.CLS_IDX, "GetGemDataByLevelAndType", _m_GetGemDataByLevelAndType_xlua_st_);
             Utils.RegisterFunc(L, Utils.CLS_IDX, "IsWing", _m_IsWing_xlua_st_);
             
@@ -331,20 +331,16 @@
         }
         
         [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_OnConfigParseCompleted(RealStatePtr L)
+        static int _m_GemItemInit_xlua_st_(RealStatePtr L)
         {
 		    try {
             
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                ItemConfig gen_to_be_invoked = (ItemConfig)translator.FastGetCSObj(L, 1);
             
             
                 
                 {
                     
-                    gen_to_be_invoked.OnConfigParseCompleted(  );
+                    ItemConfig.GemItemInit(  );
                     
                     
                     
diff --git a/Lua/Gen/XLuaGenAutoRegister.cs b/Lua/Gen/XLuaGenAutoRegister.cs
index 198abf2..1ab21d6 100644
--- a/Lua/Gen/XLuaGenAutoRegister.cs
+++ b/Lua/Gen/XLuaGenAutoRegister.cs
@@ -269,6 +269,9 @@
             translator.DelayWrapLoader(typeof(GatherSoulPropertyConfig), GatherSoulPropertyConfigWrap.__Register);
         
         
+            translator.DelayWrapLoader(typeof(GemItemConfig), GemItemConfigWrap.__Register);
+        
+        
             translator.DelayWrapLoader(typeof(GetItemWaysConfig), GetItemWaysConfigWrap.__Register);
         
         
@@ -328,13 +331,13 @@
         
             translator.DelayWrapLoader(typeof(ItemPlusSumAttrConfig), ItemPlusSumAttrConfigWrap.__Register);
         
-        
-            translator.DelayWrapLoader(typeof(JadeDynastyBossConfig), JadeDynastyBossConfigWrap.__Register);
-        
         }
         
         static void wrapInit2(LuaEnv luaenv, ObjectTranslator translator)
         {
+        
+            translator.DelayWrapLoader(typeof(JadeDynastyBossConfig), JadeDynastyBossConfigWrap.__Register);
+        
         
             translator.DelayWrapLoader(typeof(JadeDynastyStoneAttrConfig), JadeDynastyStoneAttrConfigWrap.__Register);
         
@@ -485,13 +488,13 @@
         
             translator.DelayWrapLoader(typeof(RankListConfig), RankListConfigWrap.__Register);
         
-        
-            translator.DelayWrapLoader(typeof(RealmConfig), RealmConfigWrap.__Register);
-        
         }
         
         static void wrapInit3(LuaEnv luaenv, ObjectTranslator translator)
         {
+        
+            translator.DelayWrapLoader(typeof(RealmConfig), RealmConfigWrap.__Register);
+        
         
             translator.DelayWrapLoader(typeof(RealmPracticeConfig), RealmPracticeConfigWrap.__Register);
         
@@ -642,13 +645,13 @@
         
             translator.DelayWrapLoader(typeof(WingRefineExpConfig), WingRefineExpConfigWrap.__Register);
         
-        
-            translator.DelayWrapLoader(typeof(WorldBossConfig), WorldBossConfigWrap.__Register);
-        
         }
         
         static void wrapInit4(LuaEnv luaenv, ObjectTranslator translator)
         {
+        
+            translator.DelayWrapLoader(typeof(WorldBossConfig), WorldBossConfigWrap.__Register);
+        
         
             translator.DelayWrapLoader(typeof(XBGetItemConfig), XBGetItemConfigWrap.__Register);
         
@@ -799,13 +802,13 @@
         
             translator.DelayWrapLoader(typeof(UnityEngine.Transform), UnityEngineTransformWrap.__Register);
         
-        
-            translator.DelayWrapLoader(typeof(UnityEngine.Resources), UnityEngineResourcesWrap.__Register);
-        
         }
         
         static void wrapInit5(LuaEnv luaenv, ObjectTranslator translator)
         {
+        
+            translator.DelayWrapLoader(typeof(UnityEngine.Resources), UnityEngineResourcesWrap.__Register);
+        
         
             translator.DelayWrapLoader(typeof(UnityEngine.TextAsset), UnityEngineTextAssetWrap.__Register);
         
@@ -956,13 +959,13 @@
         
             translator.DelayWrapLoader(typeof(Snxxz.UI.Dungeon), SnxxzUIDungeonWrap.__Register);
         
-        
-            translator.DelayWrapLoader(typeof(Snxxz.UI.DungeonLiquidModel), SnxxzUIDungeonLiquidModelWrap.__Register);
-        
         }
         
         static void wrapInit6(LuaEnv luaenv, ObjectTranslator translator)
         {
+        
+            translator.DelayWrapLoader(typeof(Snxxz.UI.DungeonLiquidModel), SnxxzUIDungeonLiquidModelWrap.__Register);
+        
         
             translator.DelayWrapLoader(typeof(Snxxz.UI.DungeonModel), SnxxzUIDungeonModelWrap.__Register);
         
@@ -1113,13 +1116,13 @@
         
             translator.DelayWrapLoader(typeof(Snxxz.UI.KingTreasureShowModel), SnxxzUIKingTreasureShowModelWrap.__Register);
         
-        
-            translator.DelayWrapLoader(typeof(KnapSackEventMgr), KnapSackEventMgrWrap.__Register);
-        
         }
         
         static void wrapInit7(LuaEnv luaenv, ObjectTranslator translator)
         {
+        
+            translator.DelayWrapLoader(typeof(KnapSackEventMgr), KnapSackEventMgrWrap.__Register);
+        
         
             translator.DelayWrapLoader(typeof(Snxxz.UI.CrossServerLogin), SnxxzUICrossServerLoginWrap.__Register);
         
@@ -1270,13 +1273,13 @@
         
             translator.DelayWrapLoader(typeof(Snxxz.UI.RoleModel), SnxxzUIRoleModelWrap.__Register);
         
-        
-            translator.DelayWrapLoader(typeof(Snxxz.UI.RolePointModel), SnxxzUIRolePointModelWrap.__Register);
-        
         }
         
         static void wrapInit8(LuaEnv luaenv, ObjectTranslator translator)
         {
+        
+            translator.DelayWrapLoader(typeof(Snxxz.UI.RolePointModel), SnxxzUIRolePointModelWrap.__Register);
+        
         
             translator.DelayWrapLoader(typeof(Snxxz.UI.TitleModel), SnxxzUITitleModelWrap.__Register);
         
@@ -1427,14 +1430,14 @@
         
             translator.DelayWrapLoader(typeof(Snxxz.UI.MultipleExpModel), SnxxzUIMultipleExpModelWrap.__Register);
         
-        
-            translator.DelayWrapLoader(typeof(Snxxz.UI.MultipleRealmPointModel), SnxxzUIMultipleRealmPointModelWrap.__Register);
-        
         }
         
         static void wrapInit9(LuaEnv luaenv, ObjectTranslator translator)
         {
         
+            translator.DelayWrapLoader(typeof(Snxxz.UI.MultipleRealmPointModel), SnxxzUIMultipleRealmPointModelWrap.__Register);
+        
+        
             translator.DelayWrapLoader(typeof(Snxxz.UI.OperationTimeHepler), SnxxzUIOperationTimeHeplerWrap.__Register);
         
         
diff --git a/Lua/Gen/link.xml b/Lua/Gen/link.xml
index 2bd9871..588f061 100644
--- a/Lua/Gen/link.xml
+++ b/Lua/Gen/link.xml
@@ -92,6 +92,7 @@
 		<type fullname="GatherSoulComposeConfig" preserve="all"/>
 		<type fullname="GatherSoulConfig" preserve="all"/>
 		<type fullname="GatherSoulPropertyConfig" preserve="all"/>
+		<type fullname="GemItemConfig" preserve="all"/>
 		<type fullname="GetItemWaysConfig" preserve="all"/>
 		<type fullname="GmCmdConfig" preserve="all"/>
 		<type fullname="GodWeaponConfig" preserve="all"/>
diff --git a/Utility/ConfigInitiator.cs b/Utility/ConfigInitiator.cs
index 794528d..fe6a165 100644
--- a/Utility/ConfigInitiator.cs
+++ b/Utility/ConfigInitiator.cs
@@ -316,6 +316,9 @@
     {
         switch (configName)
         {
+            case "ItemConfig":
+                ItemConfig.GemItemInit();
+                break;
             case "FuncConfigConfig":
                 GeneralDefine.Init();
                 break;

--
Gitblit v1.8.0