Przeglądaj źródła

Merge branch 'localizetexture' of ssh://192.168.0.8:29418/xianjing into hy_dny_localized

# Conflicts:
#	Assets/Editor/CsvToLua/CsvToLua.cs
gdl_123 3 miesięcy temu
rodzic
commit
aefed6aafb
39 zmienionych plików z 2387 dodań i 562 usunięć
  1. 104 0
      Assets/Content/Config/LocalizeTextureCfg_base.csv
  2. 7 0
      Assets/Content/Config/LocalizeTextureCfg_base.csv.meta
  3. 2 2
      Assets/Editor/CsvToLua/CfgLanguageCfg.csv
  4. 8 0
      Assets/Editor/CsvToLua/CfgLanguageTextureCfg.csv
  5. 7 0
      Assets/Editor/CsvToLua/CfgLanguageTextureCfg.csv.meta
  6. 129 25
      Assets/Editor/CsvToLua/CsvToLua.cs
  7. 5 5
      Assets/Lua/Core/PlatformPack.lua
  8. 5 0
      Assets/Lua/Managers/LuaLocalizedTextureCfgMgr.lua
  9. 7 0
      Assets/Lua/Managers/LuaLocalizedTextureCfgMgr.lua.meta
  10. 1 0
      Assets/Lua/Managers/ManagerContainer.lua
  11. 7 0
      Assets/Lua/Util/CommonUtil.lua
  12. 150 0
      Assets/Src/Core/Config/LocalizedTextureCfgMgr.cs
  13. 11 0
      Assets/Src/Core/Config/LocalizedTextureCfgMgr.cs.meta
  14. 192 0
      Assets/Src/ExtendComponents/UILocalizeTexture.cs
  15. 11 0
      Assets/Src/ExtendComponents/UILocalizeTexture.cs.meta
  16. 5 1
      Assets/Src/GameLogic/Battle/BattleFlyWord/BattleFloatBuffText.cs
  17. 1 0
      Assets/Src/GameLogic/LaunchLoadMgr.cs
  18. 5 0
      Assets/ToLua/Editor/Custom/CustomSettings.cs
  19. 252 0
      Assets/ToLua/Source/Generate/LocalizedSpriteCfgWrap.cs
  20. 11 0
      Assets/ToLua/Source/Generate/LocalizedSpriteCfgWrap.cs.meta
  21. 146 0
      Assets/ToLua/Source/Generate/LocalizedTextureCfgMgrWrap.cs
  22. 11 0
      Assets/ToLua/Source/Generate/LocalizedTextureCfgMgrWrap.cs.meta
  23. 8 1
      Assets/ToLua/Source/Generate/LuaBinder.cs
  24. 129 0
      Assets/ToLua/Source/Generate/Singleton_LocalizedTextureCfgMgrWrap.cs
  25. 11 0
      Assets/ToLua/Source/Generate/Singleton_LocalizedTextureCfgMgrWrap.cs.meta
  26. 124 0
      Assets/ToLua/Source/Generate/UILocalizeTextureWrap.cs
  27. 11 0
      Assets/ToLua/Source/Generate/UILocalizeTextureWrap.cs.meta
  28. BIN
      Build/BuildDependenceResource/Login/港澳台_new/img_login00.png
  29. 132 0
      Build/BuildDependenceResource/Login/港澳台_new/img_login00.png.meta
  30. BIN
      Build/BuildDependenceResource/Login/港澳台_new/img_login01.png
  31. 132 0
      Build/BuildDependenceResource/Login/港澳台_new/img_login01.png.meta
  32. BIN
      Build/BuildDependenceResource/Login/港澳台_new/img_login02.png
  33. 132 0
      Build/BuildDependenceResource/Login/港澳台_new/img_login02.png.meta
  34. BIN
      Build/BuildDependenceResource/Logo/Tw-new.png
  35. 7 7
      Build/BuildDependenceResource/PackConfig.json
  36. 103 0
      Build/NewCfg/LocalizedTextureCfg.csv
  37. 210 210
      Build/NewCfg/lua/ActivitiesCfg.lua
  38. 174 174
      Build/NewCfg/lua/ItemCfg1.lua
  39. 137 137
      Build/NewCfg/lua/ItemCfg2.lua

+ 104 - 0
Assets/Content/Config/LocalizeTextureCfg_base.csv

@@ -0,0 +1,104 @@
+key,內容,AssetPath,OtherSetting,SetNativeSize
+key,Language,AssetPath,OtherSetting,SetNativeSize
+string,string,string,string,string
+actCfg_bg_2,ActivityImg/fortnighttask_cn,Assets/Content/Icons,,0
+actCfg_actbg_2,ActivityImg/img_fortnighttask_cn,Assets/Content/Icons,,0
+actCfg_bg_31,ActivityImg/petexchange_06_cn,Assets/Content/Icons,,0
+actCfg_bg_114,ActivityImg/kingtask_cn,Assets/Content/Icons,,0
+actCfg_actbg_114,ActivityImg/img_kingtask_cn,Assets/Content/Icons,,0
+actCfg_bg_115,ActivityImg/petexchange_13_cn,Assets/Content/Icons,,0
+actCfg_bg_56,ActivityImg/laodongjie_cn,Assets/Content/Icons,,0
+actCfg_bg_124,ActivityImg/cumulative_recharge2_cn,Assets/Content/Icons,,0
+actCfg_bg_1,ActivityImg/forthnightlogin_cn,Assets/Content/Icons,,0
+actCfg_actbg_1,ActivityImg/img_banner_forthnightlogin_cn,Assets/Content/Icons,,0
+actCfg_bg_63,ActivityImg/holiday520_cn,Assets/Content/Icons,,0
+actCfg_bg_10003,ActivityImg/beginershop_cn,Assets/Content/Icons,,0
+actCfg_bg_18001,ActivityImg/monthrecharge_cn,Assets/Content/Icons,,0
+actCfg_bg_126,ActivityImg/goddessday15_cn,Assets/Content/Icons,,0
+actCfg_actbg_126,ActivityImg/goddessday15bg_cn,Assets/Content/Icons,,0
+actCfg_bg_28,ActivityImg/petexchange_03_cn,Assets/Content/Icons,,0
+actCfg_bg_62,ActivityImg/goddessday5_cn,Assets/Content/Icons,,0
+actCfg_actbg_62,ActivityImg/goddessday5bg_cn,Assets/Content/Icons,,0
+actCfg_bg_120,ActivityImg/guoqingjie_cn,Assets/Content/Icons,,0
+actCfg_actbg_120,ActivityImg/img_guoqingjie_cn,Assets/Content/Icons,,0
+actCfg_bg_61,ActivityImg/goddessday4_cn,Assets/Content/Icons,,0
+actCfg_actbg_61,ActivityImg/goddessday4bg_cn,Assets/Content/Icons,,0
+actCfg_bg_29,ActivityImg/petexchange_04_cn,Assets/Content/Icons,,0
+actCfg_bg_60,ActivityImg/goddessday_cn,Assets/Content/Icons,,0
+actCfg_actbg_60,ActivityImg/goddessdaybg_cn,Assets/Content/Icons,,0
+actCfg_bg_101,ActivityImg/summergoldaward_cn,Assets/Content/Icons,,0
+actCfg_bg_20012,ActivityImg/compositetask1_cn,Assets/Content/Icons,,0
+actCfg_bg_7,ActivityImg/active_icon_jie,Assets/Content/Icons,,0
+actCfg_bg_100,ActivityImg/goddessday12_cn,Assets/Content/Icons,,0
+actCfg_actbg_100,ActivityImg/goddessday12bg_cn,Assets/Content/Icons,,0
+actCfg_bg_26,ActivityImg/petexchange_01_cn,Assets/Content/Icons,,0
+actCfg_bg_102,ActivityImg/qiugaoqishuang_cn,Assets/Content/Icons,,0
+actCfg_bg_96,ActivityImg/petexchange_10_cn,Assets/Content/Icons,,0
+actCfg_bg_13,ActivityImg/active_icon_taqinqiandao,Assets/Content/Icons,,0
+actCfg_bg_27,ActivityImg/petexchange_02_cn,Assets/Content/Icons,,0
+actCfg_bg_98,ActivityImg/petexchange_12_cn,Assets/Content/Icons,,0
+actCfg_bg_24,ActivityImg/petexchange_08_cn,Assets/Content/Icons,,0
+actCfg_bg_104,ActivityImg/goddessday13_cn,Assets/Content/Icons,,0
+actCfg_actbg_104,ActivityImg/goddessday13bg_cn,Assets/Content/Icons,,0
+actCfg_bg_25,ActivityImg/petexchange_09_cn,Assets/Content/Icons,,0
+actCfg_bg_6,ActivityImg/active_icon_shier,Assets/Content/Icons,,0
+actCfg_bg_19002,ActivityImg/smasheggs_bt_cn,Assets/Content/Icons,,0
+actCfg_bg_86,ActivityImg/duanwujierecharge_cn,Assets/Content/Icons,,0
+actCfg_bg_20001,ActivityImg/petexchange_16_cn,Assets/Content/Icons,,0
+actCfg_bg_20003,ActivityImg/compositetask2_cn,Assets/Content/Icons,,0
+actCfg_bg_23,ActivityImg/petexchange_07_cn,Assets/Content/Icons,,0
+actCfg_bg_93,ActivityImg/summercharge_cn,Assets/Content/Icons,,0
+actCfg_bg_92,ActivityImg/summerlogin_cn,Assets/Content/Icons,,0
+actCfg_bg_94,ActivityImg/artifactsummon_cn,Assets/Content/Icons,,0
+actCfg_bg_10000,ActivityImg/dailyrecharge_bt_cn,Assets/Content/Icons,,0
+actCfg_bg_88,ActivityImg/duanwujie_cn,Assets/Content/Icons,,0
+actCfg_actbg_88,ActivityImg/img_duanwujie_cn,Assets/Content/Icons,,0
+actCfg_bg_15002,ActivityImg/active_icon_taqinhaoli,Assets/Content/Icons,,0
+actCfg_bg_10,ActivityImg/naoyuanxiao_cn,Assets/Content/Icons,,0
+actCfg_bg_90,ActivityImg/summerparty_cn,Assets/Content/Icons,,0
+actCfg_bg_21,ActivityImg/petexchange_05_cn,Assets/Content/Icons,,0
+actCfg_bg_137,ActivityImg/shuang11Signin_cn,Assets/Content/Icons,,0
+actCfg_actbg_137,ActivityImg/img_shuang11Signin_cn,Assets/Content/Icons,,0
+actCfg_bg_10001,ActivityImg/dailyrecharge7_bt_cn,Assets/Content/Icons,,0
+actCfg_bg_150,ActivityImg/christmascharge_cn,Assets/Content/Icons,,0
+actCfg_bg_5,ActivityImg/christmas_cn,Assets/Content/Icons,,0
+actCfg_bg_148,ActivityImg/forthnightlogin1_cn,Assets/Content/Icons,,0
+actCfg_actbg_148,ActivityImg/img_banner_forthnightlogin1_cn,Assets/Content/Icons,,0
+actCfg_bg_147,ActivityImg/supercharge_cn,Assets/Content/Icons,,0
+actCfg_bg_146,ActivityImg/superartifactsummon_cn,Assets/Content/Icons,,0
+actCfg_bg_66,ActivityImg/goddessday3_cn,Assets/Content/Icons,,0
+actCfg_actbg_66,ActivityImg/goddessday6bg_cn,Assets/Content/Icons,,0
+actCfg_bg_144,ActivityImg/shuang12charge1_cn,Assets/Content/Icons,,0
+actCfg_bg_142,ActivityImg/goddessday18_cn,Assets/Content/Icons,,0
+actCfg_actbg_142,ActivityImg/goddessday18bg_cn,Assets/Content/Icons,,0
+actCfg_bg_141,ActivityImg/goddessday16_cn,Assets/Content/Icons,,0
+actCfg_actbg_141,ActivityImg/goddessday16bg_cn,Assets/Content/Icons,,0
+actCfg_bg_134,ActivityImg/shuang11charge1_cn,Assets/Content/Icons,,0
+actCfg_bg_64,ActivityImg/childrensday_cn,Assets/Content/Icons,,0
+actCfg_bg_135,ActivityImg/shuang11charge2_cn,Assets/Content/Icons,,0
+actCfg_bg_65,ActivityImg/goddessday7_cn,Assets/Content/Icons,,0
+actCfg_actbg_65,ActivityImg/goddessday7bg_cn,Assets/Content/Icons,,0
+actCfg_bg_140,ActivityImg/goddessday17_cn,Assets/Content/Icons,,0
+actCfg_actbg_140,ActivityImg/goddessday17bg_cn,Assets/Content/Icons,,0
+actCfg_bg_136,ActivityImg/shuang11charge3_cn,Assets/Content/Icons,,0
+actCfg_bg_125,ActivityImg/petexchange_15_cn,Assets/Content/Icons,,0
+actCfg_bg_123,ActivityImg/cumulative_recharge1_cn,Assets/Content/Icons,,0
+actCfg_bg_145,ActivityImg/shuang12charge2_cn,Assets/Content/Icons,,0
+actCfg_bg_119,ActivityImg/goddessday14_cn,Assets/Content/Icons,,0
+actCfg_actbg_119,ActivityImg/goddessday14bg_cn,Assets/Content/Icons,,0
+actCfg_bg_89,ActivityImg/goddessday9_cn,Assets/Content/Icons,,0
+actCfg_actbg_89,ActivityImg/goddessday9bg_cn,Assets/Content/Icons,,0
+actCfg_bg_16,ActivityImg/goddessday2_cn,Assets/Content/Icons,,0
+actCfg_bg_8,ActivityImg/active_icon_sichun,Assets/Content/Icons,,0
+actCfg_bg_103,ActivityImg/artifactsummon3_cn,Assets/Content/Icons,,0
+actCfg_bg_99,ActivityImg/goddessday11_cn,Assets/Content/Icons,,0
+actCfg_actbg_99,ActivityImg/goddessday10bg_cn,Assets/Content/Icons,,0
+actCfg_bg_97,ActivityImg/petexchange_11_cn,Assets/Content/Icons,,0
+actCfg_bg_95,ActivityImg/goddessday10_cn,Assets/Content/Icons,,0
+actCfg_bg_87,ActivityImg/goddessday8_cn,Assets/Content/Icons,,0
+actCfg_actbg_87,ActivityImg/goddessday8bg_cn,Assets/Content/Icons,,0
+actCfg_bg_4,ActivityImg/dailyrecharge_cn,Assets/Content/Icons,,0
+actCfg_bg_58,ActivityImg/cardexchange_01_cn,Assets/Content/Icons,,0
+actCfg_actbg_59,ActivityImg/goddessday3bg_cn,Assets/Content/Icons,,0
+actCfg_bg_15,ActivityImg/qingming_cn,Assets/Content/Icons,,0
+actCfg_bg_57,ActivityImg/activitycharge_cn,Assets/Content/Icons,,0

+ 7 - 0
Assets/Content/Config/LocalizeTextureCfg_base.csv.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: cc834ad2320cb2041ab1836991cefd68
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 2 - 2
Assets/Editor/CsvToLua/CfgLanguageCfg.csv

@@ -1,5 +1,5 @@
- ID,CfgName,Field,CfgID,CfgType,Enable
- int,string,string,string,int,int
+ID,CfgName,Field,CfgID,CfgType,Enable
+int,string,string,string,int,int
 1,ConditionCfg,ConditionDescribe,ConditionCfg_ConditionDescribe_,1,0
 3,ActivitiesDiscountsCfg,Name,ADCfg_Name_,1,0
 4,ActivitiesTaskCfg,Title,ATCfg_Title_,1,0

+ 8 - 0
Assets/Editor/CsvToLua/CfgLanguageTextureCfg.csv

@@ -0,0 +1,8 @@
+ID,CfgName,Field,CfgID,CfgType,Enable,AssetPath
+int,string,string,string,int,int,string
+1,ActivitiesCfg,BG,actCfg_bg_,1,1,Assets/Content/Icons
+2,ActivitiesCfg,ActivityBG,actCfg_actbg_,1,1,Assets/Content/Icons
+3,ItemCfg1,Icon,ICfg_Icon_,1,0,Assets/Content/Icons
+4,ItemCfg1,MiniIcon,ICfg_MiniIcon_,1,0,Assets/Content/Icons
+5,ItemCfg2,Icon,ICfg_Icon_,1,0,Assets/Content/Icons
+6,ItemCfg2,MiniIcon,ICfg_MiniIcon_,1,0,Assets/Content/Icons

+ 7 - 0
Assets/Editor/CsvToLua/CfgLanguageTextureCfg.csv.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 26ee123bc088741449e7abdb3ee5807e
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 129 - 25
Assets/Editor/CsvToLua/CsvToLua.cs

@@ -20,6 +20,8 @@ public class CfgLanguageCfg : GameData<CfgLanguageCfg>
     public string CfgID;
     public int CfgType;
     public int Enable;
+    public string AssetPath;
+    public string AssetName;
     public CfgLanguageCfg()
     {
         CfgName = "";
@@ -27,6 +29,8 @@ public class CfgLanguageCfg : GameData<CfgLanguageCfg>
         CfgID = "";
         CfgType = 0;
         Enable = 0;
+        AssetPath = "";
+        AssetName = "";
     }
     public static void OnCsvLoad(CsvReader csvReader)
     {
@@ -53,6 +57,7 @@ public class LanguageCfg : GameData<LanguageCfg>
         key = "";
         Language = "";
     }
+
     public static void OnCsvLoad(CsvReader csvReader)
     {
         LanguageCfg.Onload(csvReader);
@@ -65,6 +70,35 @@ public class LanguageCfg : GameData<LanguageCfg>
 }
 
 
+public class LocalizedTextureCfg :GameData<LocalizedTextureCfg>
+{
+    public string key;
+    public string Language;
+    public string AssetPath;
+    public string OtherSetting;
+    public string SetNativeSize;
+
+
+
+    public LocalizedTextureCfg()
+    {
+        key = "";
+        Language = "";
+        AssetPath = "";
+        OtherSetting = "";
+        SetNativeSize = "0";
+    }
+    public static void OnCsvLoad(CsvReader csvReader)
+    {
+        Onload(csvReader);
+    }
+
+    public static string FileName_S()
+    {
+        return "";
+    }
+}
+
 public class CsvToLua : EditorWindow
 {
     public static string CSV_PATH = "csv path";
@@ -149,11 +183,14 @@ return aaa";
         }
 
 
-        if (GUILayout.Button("检查"))
+        if (GUILayout.Button("提取语言配置"))
         {
             CheckCgf();
         }
-
+        if (GUILayout.Button("提取图片配置"))
+        {
+            CheckTextureCgf();
+        }
         IsObj =  GUILayout.Toggle(IsObj,"运行时启动");
 
         if (GUILayout.Button("更改CardCfg"))
@@ -455,7 +492,30 @@ return aaa";
         LanguageCfg.Clear(false);
         return ret;
     }
+    public static Dictionary<string, LocalizedTextureCfg> GetLanguageTextureCfg(string path)
+    {
+        Dictionary<string, LocalizedTextureCfg> ret = new Dictionary<string, LocalizedTextureCfg>();
 
+        TextAsset ta = AssetDatabase.LoadAssetAtPath<TextAsset>(path);
+        CsvReader csvReader = new CsvReader(LanguageCfg.FileName_S(), ta.bytes, 1, 2, 3);
+        LocalizedTextureCfg.OnCsvLoad(csvReader);
+        LocalizedTextureCfg.Foreach(it =>
+        {
+            if (!ret.ContainsKey(it.key))
+            {
+                ret.Add(it.key, it);
+            }
+            else
+            {
+                ret.Add(it.key + ret.Count, it);
+                Debug.Log("重复项:" + it.key);
+            }
+
+            //Debug.Log(it.BaseName);
+        });
+        LocalizedTextureCfg.Clear(false);
+        return ret;
+    }
     public static void CheckCgf()
     {
         string luaPath = "Assets/Lua/Config/";
@@ -474,22 +534,69 @@ return aaa";
             if (value[0].CfgType == 1)
             {
                 cfgPath = luaPath + item.Key + ".lua";
-                CheckLauCfg_CS(value,cfgPath,language, $"{OutPutPath}lua/{value[0].CfgName}.lua");
-
+                CheckLauCfg_CS(value,cfgPath,language, $"{OutPutPath}lua/{value[0].CfgName}.lua",(it,_v) => string.Equals(it.Value.Language, _v),(obj,key,_value,cfg)=>
+                {
+                    obj.key = key;
+                    obj.Language = _value;
+                });
             }
             else
             {
                 cfgPath = csvPath + item.Key + ".csv";
-                CheckCsvCfg(value, cfgPath, language, $"{OutPutPath}csv/{value[0].CfgName}.csv");
+                CheckCsvCfg(value, cfgPath, language, $"{OutPutPath}csv/{value[0].CfgName}.csv", (it, _v) => string.Equals(it.Value.Language, _v), (obj, key, _value, cfg) =>
+                {
+                    obj.key = key;
+                    obj.Language = _value;
+                });
             }
         }
         EditorUtility.ClearProgressBar();
         CsvWriter<LanguageCfg> csvWriter = new CsvWriter<LanguageCfg>(OutPutPath+ "Language.csv", "Language.csv",language.Values.ToList(), LanguageCfg.GetFormatInfo());
         csvWriter.Write();
-
     }
 
 
+    public static void CheckTextureCgf()
+    {
+        string luaPath = "Assets/Lua/Config/";
+        string csvPath = "Assets/Content/Config/";
+        string OutPutPath = "Build/NewCfg/";
+        Dictionary<string, List<CfgLanguageCfg>> cfgs = GetCfgLanguageCfg("Assets/Editor/CsvToLua/CfgLanguageTextureCfg.csv");
+        Dictionary<string, LocalizedTextureCfg> language = GetLanguageTextureCfg("Assets/Content/Config/LocalizeTextureCfg_base.csv");
+        float ckcount = 0;
+        foreach (var item in cfgs)
+        {
+            ckcount += 1;
+            List<CfgLanguageCfg> value = item.Value;
+
+            EditorUtility.DisplayProgressBar("检测配置中", $"检测:{item.Key}...", ckcount / cfgs.Count);
+            string cfgPath = "";
+            if (value[0].CfgType == 1)
+            {
+                cfgPath = luaPath + item.Key + ".lua";
+                CheckLauCfg_CS(value, cfgPath, language, $"{OutPutPath}lua/{value[0].CfgName}.lua", (it, _v) => string.Equals(it.Value.Language, _v), (obj, key, _value, cfg) =>
+                {
+                    obj.key = key;
+                    obj.Language = _value;
+                    obj.AssetPath = cfg.AssetPath;
+                });
+            }
+            else
+            {
+                cfgPath = csvPath + item.Key + ".csv";
+                CheckCsvCfg(value, cfgPath, language, $"{OutPutPath}csv/{value[0].CfgName}.csv", (it, _v) => string.Equals(it.Value.Language, _v), (obj, key, _value, cfg) =>
+                {            
+                    obj.key = key;
+                    obj.Language = _value;
+                    obj.AssetPath = cfg.AssetPath;
+                });
+            }
+        }
+        EditorUtility.ClearProgressBar();
+        CsvWriter<LocalizedTextureCfg> csvWriter = new CsvWriter<LocalizedTextureCfg>(OutPutPath + "LocalizedTextureCfg.csv", "LocalizedTextureCfg.csv", language.Values.ToList(), LocalizedTextureCfg.GetFormatInfo());
+        csvWriter.Write();
+    }
+
     private static void CheckLauCfg(List<CfgLanguageCfg> cfg,string path, Dictionary<string, LanguageCfg> language,string outputPath)
     {
         using (LuaState runTime = new LuaState())
@@ -567,7 +674,7 @@ return aaa";
         {
             if (rowDatas[line].Trim().IndexOf("--") == 0)
             {
-                Debug.Log("注释跳过");
+                //Debug.Log("注释跳过");
             }
             
             if (rowDatas[line].Contains(idkey))
@@ -592,7 +699,7 @@ return aaa";
             }
         }
     }
-    private static void CheckLauCfg_CS(List<CfgLanguageCfg> cfg, string path, Dictionary<string, LanguageCfg> language, string outputPath)
+    private static void CheckLauCfg_CS<T>(List<CfgLanguageCfg> cfg, string path, Dictionary<string, T> language, string outputPath,Func<KeyValuePair<string,T>,string,bool> findcb, Action<T,string,string, CfgLanguageCfg> cb) where T :GameData
     {
         string[] rowDatas = File.ReadAllLines(path);
         bool iswrite = true;
@@ -614,9 +721,9 @@ return aaa";
                     {
                         continue;
                     }
-                    KeyValuePair<string, LanguageCfg> valuePair = language.FirstOrDefault(it =>
+                    KeyValuePair<string, T> valuePair = language.FirstOrDefault(it=>
                     {
-                        return string.Equals(it.Value.Language, value);
+                        return findcb(it,value);
                     });
 
                     if (!string.IsNullOrEmpty(valuePair.Key))
@@ -628,7 +735,7 @@ return aaa";
                     {
                         string key = cfg[i].CfgID + id;
                         luatable.RawSet<string, string>(cfg[i].Field, key);
-                        
+                        SetLuaLine(rowDatas, id, cfg[i].Field, key);
                         if (value.Contains("\n"))
                         {
                             //Debug.Log(value);
@@ -637,17 +744,11 @@ return aaa";
                         }
                         if (!language.ContainsKey(key))
                         {
-                            valuePair = language.FirstOrDefault(it =>
-                            {
-                                return string.Equals(it.Value.key, value);
-                            });
-                            if (string.IsNullOrEmpty(valuePair.Key))
-                            {
-                                SetLuaLine(rowDatas, id, cfg[i].Field, key);
-                                language.Add(key, new LanguageCfg() { key = key, Language = value });
-                            }                                                     
+                            Type type = typeof(T);
+                            T obj = Activator.CreateInstance<T>();
+                            cb?.Invoke(obj,key,value, cfg[i]);
+                            language.Add(key, obj);
                         }
-                          
                     }
 
                 }
@@ -660,7 +761,7 @@ return aaa";
 
     }
 
-    private static void CheckCsvCfg(List<CfgLanguageCfg> cfg, string path, Dictionary<string, LanguageCfg> language, string outputPath)
+    private static void CheckCsvCfg<T>(List<CfgLanguageCfg> cfg, string path, Dictionary<string, T> language, string outputPath, Func<KeyValuePair<string, T>,string, bool> findcb, Action<T, string, string, CfgLanguageCfg> cb) where T : GameData
     {
 
         CsvReader csvReader = new CsvReader(path,1,2,3);
@@ -683,9 +784,9 @@ return aaa";
                 }
 
 
-                KeyValuePair<string, LanguageCfg> valuePair = language.FirstOrDefault(it =>
+                KeyValuePair<string, T> valuePair = language.FirstOrDefault(it =>
                 {
-                    return string.Equals(it.Value.Language, value);
+                    return findcb(it, value);
                 });
 
                 if (!string.IsNullOrEmpty(valuePair.Key))
@@ -696,7 +797,10 @@ return aaa";
                 {
                     string key = cfg[j].CfgID + i;
                     csvReader.SetDataByFieldName(cfg[j].Field, key,i);
-                    language.Add(key, new LanguageCfg() { key = key, Language = value });
+                    Type type = typeof(T);
+                    T obj = Activator.CreateInstance<T>();
+                    cb?.Invoke(obj, key, value, cfg[i]);
+                    language.Add(key,obj);
                 }
 
             }

+ 5 - 5
Assets/Lua/Core/PlatformPack.lua

@@ -1,9 +1,9 @@
 local PlatformPack = {
-	URL_KEY = 'http://43.156.13.116:81//',
-	SERVERLIST_URL = 'http://43.156.13.116:81//serverlist',
-	NOTIFY_URL = 'http://43.156.13.116:88/res/NoticeNew/',
-	SPECIAL_INFO_URL = 'http://43.156.13.116:81//channel',
-	CUSTOMER_SERVICE_INFO_URL = 'http://43.156.13.116:81//vipService',
+	URL_KEY = 'http://43.226.57.217:81//',
+	SERVERLIST_URL = 'http://43.226.57.217:81//serverlist',
+	NOTIFY_URL = 'http://43.226.57.217:88/res/NoticeNew/',
+	SPECIAL_INFO_URL = 'http://43.226.57.217:81//channel',
+	CUSTOMER_SERVICE_INFO_URL = 'http://43.226.57.217:81//vipService',
 }
 
 return PlatformPack

+ 5 - 0
Assets/Lua/Managers/LuaLocalizedTextureCfgMgr.lua

@@ -0,0 +1,5 @@
+local LuaLocalizedTextureCfgMgr = class("LocalizedTextureCfgMgr", function()
+    return LocalizedTextureCfgMgr.Instance
+end)
+
+return LuaLocalizedTextureCfgMgr

+ 7 - 0
Assets/Lua/Managers/LuaLocalizedTextureCfgMgr.lua.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: bcc81e6d71de8904fa84132094634dc3
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 0
Assets/Lua/Managers/ManagerContainer.lua

@@ -49,6 +49,7 @@ function ManagerContainer:InitMgr()
     self.OpenPayMgr = require('OpenPayMgr'):new()
     self.SDKEventReportMgr = require('SDKEventReportMgr'):new()
     self.AccountInfoMgr = require('AccountInfoMgr'):new()
+    self.LuaLocalizedTextureCfgMgr = require('LuaLocalizedTextureCfgMgr'):new()
 end
 
 function ManagerContainer:Update()

+ 7 - 0
Assets/Lua/Util/CommonUtil.lua

@@ -653,6 +653,13 @@ function LoadIcon(wnd, name, cb, itemLua, key)
     if name == "" or name == nil then
         return -1
     end
+
+     local _name = ManagerContainer.LuaLocalizedTextureCfgMgr:GetLocalize(name)
+
+    if _name ~= nil and _name ~= "" then
+        name = _name
+    end
+
     seqId = ManagerContainer.ResMgr:LuaLoadAssets(Enum.ResourceType.SingleSprite, Constants.IconDir, {name}, nil, cb)
     if not ManagerContainer.ResMgr:SeqIdEquals(seqId, 0) then
         if itemLua and key then

+ 150 - 0
Assets/Src/Core/Config/LocalizedTextureCfgMgr.cs

@@ -0,0 +1,150 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+public class LocalizedSpriteCfg
+{
+    public string key;
+    public string Language;
+    public string AssetPath;
+    public string OtherSetting;
+    public string SetNativeSize;
+
+
+    public LocalizedSpriteCfg()
+    {
+        key = "";
+        Language = "";
+        AssetPath = "";
+        OtherSetting = "";
+        SetNativeSize = "0";
+    }
+
+
+    public bool GetSetNativeSize()
+    {
+        return !string.IsNullOrEmpty(SetNativeSize) && SetNativeSize != "0";
+    }
+}
+public class LocalizedTextureCfgMgr : Singleton<LocalizedTextureCfgMgr>
+{
+    private string baseName;
+    private string baseKey;
+
+    private string curLanguageKey;
+    private string oldLanguageKey;
+    private Dictionary<string, Dictionary<string, LocalizedSpriteCfg>> cfgs = new Dictionary<string, Dictionary<string, LocalizedSpriteCfg>>();
+    private Dictionary<string, LocalizedSpriteCfg> curCfg;
+    public override void Init()
+    {
+        baseName = "LocalizeTextureCfg";
+
+        baseKey = "_base";
+        curLanguageKey = baseKey;
+        oldLanguageKey = baseKey;
+        ReadConfig();
+    }
+
+    private void ReadConfig()
+    {
+        string cfgname = GetLanguageCfgName(curLanguageKey);
+
+        if (!cfgs.ContainsKey(curLanguageKey))
+        {
+            Dictionary<string, Dictionary<string, string>> cfgdata = ConfigMgr.Instance.getTable(cfgname);
+            if (cfgdata == null)
+            {
+                return;
+            }
+            Dictionary<string, LocalizedSpriteCfg> cfg = new Dictionary<string, LocalizedSpriteCfg>();
+            foreach (var item in cfgdata)
+            {
+                LocalizedSpriteCfg localizedSpriteCfg = new LocalizedSpriteCfg();
+                localizedSpriteCfg.key = item.Key;
+                Dictionary<string, string> _value = item.Value;
+                localizedSpriteCfg.Language = _value["Language"];
+                localizedSpriteCfg.AssetPath = _value["AssetPath"];
+                localizedSpriteCfg.OtherSetting = _value["OtherSetting"];
+                localizedSpriteCfg.SetNativeSize = _value["SetNativeSize"];
+                cfg.Add(item.Key, localizedSpriteCfg);
+            }
+            cfgs.Add(curLanguageKey, cfg);
+            curCfg = cfg;
+        }
+        else
+        {
+            curCfg = cfgs[curLanguageKey];
+        }
+
+    }
+
+    public void SetLanguage(string language)
+    {
+        if (!string.IsNullOrEmpty(language) && language != curLanguageKey)
+        {
+            curLanguageKey = language;
+            ReadConfig();
+        }
+    }
+
+    private string GetLanguageCfgName(string lg)
+    {
+        return $"{baseName}{lg}";
+    }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    /// <param name="key"></param>
+    /// <param name="notbase">要求不是base才返回</param>
+    /// <returns></returns>
+    public LocalizedSpriteCfg GetLocalizedSpriteCfg(string key, bool notbase = true)
+    {
+        if (notbase && curLanguageKey == oldLanguageKey)
+        {
+            return null;
+        }
+        if (curCfg == null)
+        {
+            ReadConfig();
+        }
+        if (curCfg == null)
+        {
+            return null;
+        }
+
+        if (curCfg.ContainsKey(key))
+        {
+            return curCfg[key];
+        }
+
+        return null;
+    }
+
+
+    public string GetLocalize(string key, bool notbase = false)
+    {
+        if (notbase && curLanguageKey == oldLanguageKey)
+        {
+            return "";
+        }
+        if (curCfg == null)
+        {
+            ReadConfig();
+        }
+        if (curCfg == null)
+        {
+            return "";
+        }
+
+        if (curCfg.ContainsKey(key))
+        {
+            return curCfg[key].Language;
+        }
+
+        return "";
+    }
+}
+

+ 11 - 0
Assets/Src/Core/Config/LocalizedTextureCfgMgr.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 12c7fccd03eba5440b38c64dac0f7299
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 192 - 0
Assets/Src/ExtendComponents/UILocalizeTexture.cs

@@ -0,0 +1,192 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class UILocalizeTexture : MonoBehaviour
+{
+
+    public string key;
+
+    private Image mImage;
+
+
+    private long loadSeq;
+
+    string oldname;
+    LocalizedSpriteCfg spriteCfg;
+    private void Awake()
+    {
+        oldname = "";
+        loadSeq = 0;
+        key = "";
+        mImage = GetComponent<Image>();
+    }
+
+    // Start is called before the first frame update
+    private void Start()
+    {
+        Refresh();
+    }
+
+    // Update is called once per frame
+    private void Update()
+    {
+
+    }
+
+
+    private void OnDestroy()
+    {
+        Dispose();
+    }
+
+    public void Refresh()
+    {
+        if (string.IsNullOrEmpty(key))
+            return;
+
+        spriteCfg = LocalizedTextureCfgMgr.Instance.GetLocalizedSpriteCfg(key);
+        if (spriteCfg == null || oldname == spriteCfg.Language)
+        {
+            return;
+        }
+
+        oldname = spriteCfg.Language;
+
+        loadSeq = ResourceMgr.Instance.LoadAsset<Sprite>(OnLoadEnd, spriteCfg.AssetPath, spriteCfg.Language);
+    }
+
+    private void OnLoadEnd(Sprite sp, string assetPath, params string[] assetNames)
+    {
+        //mImage.sprite.name;
+        mImage.sprite = sp;
+
+        if (spriteCfg.GetSetNativeSize())
+        {
+            mImage.SetNativeSize();
+        }
+
+        SerizedOtherCfg();
+
+    }
+
+    public void SetKey(string _key)
+    {
+        key = _key;
+        Refresh();
+    }
+
+    public void Dispose()
+    {
+        if (loadSeq > 0)
+        {
+            ResourceMgr.Instance.UnloadAssetBySeqId(loadSeq);
+            loadSeq = 0;
+        }
+    }
+
+
+
+    private void SerizedOtherCfg()
+    {
+        if (string.IsNullOrEmpty(spriteCfg.OtherSetting))
+        {
+            return;
+        }
+
+        string[] datas_1 = spriteCfg.OtherSetting.Split(";",StringSplitOptions.RemoveEmptyEntries);
+
+        for (int i = 0; i < datas_1.Length; i++)
+        {
+            string[] datas_2  = datas_1[i].Split("_", StringSplitOptions.RemoveEmptyEntries);
+            if (datas_2.Length < 2)
+            {
+                continue;
+            }
+
+            int type = -1;
+            if (!int.TryParse(datas_2[0],out type))
+            {
+                continue;
+            }
+
+            string[] datas_3 = datas_2[1].Split(":", StringSplitOptions.RemoveEmptyEntries);
+
+            if (datas_3.Length < 2)
+            {
+                continue;
+            }
+            int x;
+            int y;
+            int z;
+
+            if (!int.TryParse(datas_3[0], out x))
+            {
+                continue;
+            }
+
+            if (!int.TryParse(datas_3[1], out y))
+            {
+                continue;
+            }
+
+            if (datas_3.Length < 3)
+            {
+                SetImage(type, new Vector3(x,y));
+            }
+            else if ( int.TryParse(datas_3[2], out z))
+            {
+                SetImage(type, new Vector3(x, y, z));
+            }
+
+
+        }
+    }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    /// <param name="type">1 local pos  ; 2 rotation  ; 3 scale  4 size </param>
+    /// <param name="data"></param>
+    private void SetImage(int type, Vector3 data)
+    {
+        RectTransform rectTransform = transform as RectTransform;
+
+        if (rectTransform == null )
+        {
+            return;
+        }
+        switch (type)
+        {
+            case 1: 
+                {
+                    Vector3 lp = rectTransform.localPosition;
+                    lp.x = data.x;
+                    lp.y = data.y;
+                    rectTransform.localPosition = lp;
+                }
+                break;
+            case 2:
+                {
+                    rectTransform.localRotation = Quaternion.Euler(data);
+                }
+                break;
+            case 3:
+                {
+                    rectTransform.localScale = data;
+                }
+                break;
+            case 4:
+                {
+                    rectTransform.sizeDelta = new Vector2(data.x, data.y);
+                }
+                break;
+            default:
+                break;
+        }
+
+
+    }
+}

+ 11 - 0
Assets/Src/ExtendComponents/UILocalizeTexture.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f6c12cef85f0f7a449b80fce287d155b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 5 - 1
Assets/Src/GameLogic/Battle/BattleFlyWord/BattleFloatBuffText.cs

@@ -65,7 +65,11 @@ public class BattleFloatBuffText : MonoBehaviour
         dodgeGo.SetActive(false);
         if (functionImg != null)
         {
-            loadSeq = ResourceMgr.Instance.LoadAsset<Sprite>(OnLoadBuffTextCompleted, Constants.IconDir, icon);
+            string curicon = LocalizedTextureCfgMgr.Instance.GetLocalize(icon);
+
+            curicon = string.IsNullOrEmpty(curicon) ? icon : curicon;
+
+            loadSeq = ResourceMgr.Instance.LoadAsset<Sprite>(OnLoadBuffTextCompleted, Constants.IconDir, curicon);
         }
     }
 

+ 1 - 0
Assets/Src/GameLogic/LaunchLoadMgr.cs

@@ -272,6 +272,7 @@ public class LaunchLoadMgr
     {
         EventMgr.RemoveEventListener<int>(ECoreEventType.EID_ConfigMgrInit, OnLoadCfgEnd);
         //GameMgr.Instance.DoTaskByCorutine(CheckResUpdate);
+        LocalizedTextureCfgMgr.CreateInstance();
         CheckISShenHe();
     }
     private void OnConfigMgrInited(CoreEvent<int> ce)

+ 5 - 0
Assets/ToLua/Editor/Custom/CustomSettings.cs

@@ -343,6 +343,11 @@ public static class CustomSettings
         _GT (typeof(Vuplex.WebView.Keyboard)),
         _GT (typeof(Vuplex.WebView.BaseKeyboard)),
         _GT (typeof(Vuplex.WebView.KeyModifier)),
+
+
+          _GT (typeof (LocalizedTextureCfgMgr)),
+          _GT (typeof (LocalizedSpriteCfg)),
+          _GT (typeof (UILocalizeTexture)),
     };
 
     public static List<Type> dynamicList = new List<Type>() {

+ 252 - 0
Assets/ToLua/Source/Generate/LocalizedSpriteCfgWrap.cs

@@ -0,0 +1,252 @@
+//this source code was auto-generated by tolua#, do not modify it
+using System;
+using LuaInterface;
+
+public class LocalizedSpriteCfgWrap
+{
+	public static void Register(LuaState L)
+	{
+		L.BeginClass(typeof(LocalizedSpriteCfg), typeof(System.Object));
+		L.RegFunction("GetSetNativeSize", GetSetNativeSize);
+		L.RegFunction("New", _CreateLocalizedSpriteCfg);
+		L.RegFunction("__tostring", ToLua.op_ToString);
+		L.RegVar("key", get_key, set_key);
+		L.RegVar("Language", get_Language, set_Language);
+		L.RegVar("AssetPath", get_AssetPath, set_AssetPath);
+		L.RegVar("OtherSetting", get_OtherSetting, set_OtherSetting);
+		L.RegVar("SetNativeSize", get_SetNativeSize, set_SetNativeSize);
+		L.EndClass();
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int _CreateLocalizedSpriteCfg(IntPtr L)
+	{
+		try
+		{
+			int count = LuaDLL.lua_gettop(L);
+
+			if (count == 0)
+			{
+				LocalizedSpriteCfg obj = new LocalizedSpriteCfg();
+				ToLua.PushObject(L, obj);
+				return 1;
+			}
+			else
+			{
+				return LuaDLL.luaL_throw(L, "invalid arguments to ctor method: LocalizedSpriteCfg.New");
+			}
+		}
+		catch (Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e);
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int GetSetNativeSize(IntPtr L)
+	{
+		try
+		{
+			ToLua.CheckArgsCount(L, 1);
+			LocalizedSpriteCfg obj = (LocalizedSpriteCfg)ToLua.CheckObject<LocalizedSpriteCfg>(L, 1);
+			bool o = obj.GetSetNativeSize();
+			LuaDLL.lua_pushboolean(L, o);
+			return 1;
+		}
+		catch (Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e);
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int get_key(IntPtr L)
+	{
+		object o = null;
+
+		try
+		{
+			o = ToLua.ToObject(L, 1);
+			LocalizedSpriteCfg obj = (LocalizedSpriteCfg)o;
+			string ret = obj.key;
+			LuaDLL.lua_pushstring(L, ret);
+			return 1;
+		}
+		catch(Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e, o, "attempt to index key on a nil value");
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int get_Language(IntPtr L)
+	{
+		object o = null;
+
+		try
+		{
+			o = ToLua.ToObject(L, 1);
+			LocalizedSpriteCfg obj = (LocalizedSpriteCfg)o;
+			string ret = obj.Language;
+			LuaDLL.lua_pushstring(L, ret);
+			return 1;
+		}
+		catch(Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e, o, "attempt to index Language on a nil value");
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int get_AssetPath(IntPtr L)
+	{
+		object o = null;
+
+		try
+		{
+			o = ToLua.ToObject(L, 1);
+			LocalizedSpriteCfg obj = (LocalizedSpriteCfg)o;
+			string ret = obj.AssetPath;
+			LuaDLL.lua_pushstring(L, ret);
+			return 1;
+		}
+		catch(Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e, o, "attempt to index AssetPath on a nil value");
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int get_OtherSetting(IntPtr L)
+	{
+		object o = null;
+
+		try
+		{
+			o = ToLua.ToObject(L, 1);
+			LocalizedSpriteCfg obj = (LocalizedSpriteCfg)o;
+			string ret = obj.OtherSetting;
+			LuaDLL.lua_pushstring(L, ret);
+			return 1;
+		}
+		catch(Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e, o, "attempt to index OtherSetting on a nil value");
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int get_SetNativeSize(IntPtr L)
+	{
+		object o = null;
+
+		try
+		{
+			o = ToLua.ToObject(L, 1);
+			LocalizedSpriteCfg obj = (LocalizedSpriteCfg)o;
+			string ret = obj.SetNativeSize;
+			LuaDLL.lua_pushstring(L, ret);
+			return 1;
+		}
+		catch(Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e, o, "attempt to index SetNativeSize on a nil value");
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int set_key(IntPtr L)
+	{
+		object o = null;
+
+		try
+		{
+			o = ToLua.ToObject(L, 1);
+			LocalizedSpriteCfg obj = (LocalizedSpriteCfg)o;
+			string arg0 = ToLua.CheckString(L, 2);
+			obj.key = arg0;
+			return 0;
+		}
+		catch(Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e, o, "attempt to index key on a nil value");
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int set_Language(IntPtr L)
+	{
+		object o = null;
+
+		try
+		{
+			o = ToLua.ToObject(L, 1);
+			LocalizedSpriteCfg obj = (LocalizedSpriteCfg)o;
+			string arg0 = ToLua.CheckString(L, 2);
+			obj.Language = arg0;
+			return 0;
+		}
+		catch(Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e, o, "attempt to index Language on a nil value");
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int set_AssetPath(IntPtr L)
+	{
+		object o = null;
+
+		try
+		{
+			o = ToLua.ToObject(L, 1);
+			LocalizedSpriteCfg obj = (LocalizedSpriteCfg)o;
+			string arg0 = ToLua.CheckString(L, 2);
+			obj.AssetPath = arg0;
+			return 0;
+		}
+		catch(Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e, o, "attempt to index AssetPath on a nil value");
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int set_OtherSetting(IntPtr L)
+	{
+		object o = null;
+
+		try
+		{
+			o = ToLua.ToObject(L, 1);
+			LocalizedSpriteCfg obj = (LocalizedSpriteCfg)o;
+			string arg0 = ToLua.CheckString(L, 2);
+			obj.OtherSetting = arg0;
+			return 0;
+		}
+		catch(Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e, o, "attempt to index OtherSetting on a nil value");
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int set_SetNativeSize(IntPtr L)
+	{
+		object o = null;
+
+		try
+		{
+			o = ToLua.ToObject(L, 1);
+			LocalizedSpriteCfg obj = (LocalizedSpriteCfg)o;
+			string arg0 = ToLua.CheckString(L, 2);
+			obj.SetNativeSize = arg0;
+			return 0;
+		}
+		catch(Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e, o, "attempt to index SetNativeSize on a nil value");
+		}
+	}
+}
+

+ 11 - 0
Assets/ToLua/Source/Generate/LocalizedSpriteCfgWrap.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: fa19d39cac764a84ea139fb824fea347
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 146 - 0
Assets/ToLua/Source/Generate/LocalizedTextureCfgMgrWrap.cs

@@ -0,0 +1,146 @@
+//this source code was auto-generated by tolua#, do not modify it
+using System;
+using LuaInterface;
+
+public class LocalizedTextureCfgMgrWrap
+{
+	public static void Register(LuaState L)
+	{
+		L.BeginClass(typeof(LocalizedTextureCfgMgr), typeof(Singleton<LocalizedTextureCfgMgr>));
+		L.RegFunction("Init", Init);
+		L.RegFunction("SetLanguage", SetLanguage);
+		L.RegFunction("GetLocalizedSpriteCfg", GetLocalizedSpriteCfg);
+		L.RegFunction("GetLocalize", GetLocalize);
+		L.RegFunction("New", _CreateLocalizedTextureCfgMgr);
+		L.RegFunction("__tostring", ToLua.op_ToString);
+		L.EndClass();
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int _CreateLocalizedTextureCfgMgr(IntPtr L)
+	{
+		try
+		{
+			int count = LuaDLL.lua_gettop(L);
+
+			if (count == 0)
+			{
+				LocalizedTextureCfgMgr obj = new LocalizedTextureCfgMgr();
+				ToLua.PushObject(L, obj);
+				return 1;
+			}
+			else
+			{
+				return LuaDLL.luaL_throw(L, "invalid arguments to ctor method: LocalizedTextureCfgMgr.New");
+			}
+		}
+		catch (Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e);
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int Init(IntPtr L)
+	{
+		try
+		{
+			ToLua.CheckArgsCount(L, 1);
+			LocalizedTextureCfgMgr obj = (LocalizedTextureCfgMgr)ToLua.CheckObject<LocalizedTextureCfgMgr>(L, 1);
+			obj.Init();
+			return 0;
+		}
+		catch (Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e);
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int SetLanguage(IntPtr L)
+	{
+		try
+		{
+			ToLua.CheckArgsCount(L, 2);
+			LocalizedTextureCfgMgr obj = (LocalizedTextureCfgMgr)ToLua.CheckObject<LocalizedTextureCfgMgr>(L, 1);
+			string arg0 = ToLua.CheckString(L, 2);
+			obj.SetLanguage(arg0);
+			return 0;
+		}
+		catch (Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e);
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int GetLocalizedSpriteCfg(IntPtr L)
+	{
+		try
+		{
+			int count = LuaDLL.lua_gettop(L);
+
+			if (count == 2)
+			{
+				LocalizedTextureCfgMgr obj = (LocalizedTextureCfgMgr)ToLua.CheckObject<LocalizedTextureCfgMgr>(L, 1);
+				string arg0 = ToLua.CheckString(L, 2);
+				LocalizedSpriteCfg o = obj.GetLocalizedSpriteCfg(arg0);
+				ToLua.PushObject(L, o);
+				return 1;
+			}
+			else if (count == 3)
+			{
+				LocalizedTextureCfgMgr obj = (LocalizedTextureCfgMgr)ToLua.CheckObject<LocalizedTextureCfgMgr>(L, 1);
+				string arg0 = ToLua.CheckString(L, 2);
+				bool arg1 = LuaDLL.luaL_checkboolean(L, 3);
+				LocalizedSpriteCfg o = obj.GetLocalizedSpriteCfg(arg0, arg1);
+				ToLua.PushObject(L, o);
+				return 1;
+			}
+			else
+			{
+				return LuaDLL.luaL_throw(L, "invalid arguments to method: LocalizedTextureCfgMgr.GetLocalizedSpriteCfg");
+			}
+		}
+		catch (Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e);
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int GetLocalize(IntPtr L)
+	{
+		try
+		{
+			int count = LuaDLL.lua_gettop(L);
+
+			if (count == 2)
+			{
+				LocalizedTextureCfgMgr obj = (LocalizedTextureCfgMgr)ToLua.CheckObject<LocalizedTextureCfgMgr>(L, 1);
+				string arg0 = ToLua.CheckString(L, 2);
+				string o = obj.GetLocalize(arg0);
+				LuaDLL.lua_pushstring(L, o);
+				return 1;
+			}
+			else if (count == 3)
+			{
+				LocalizedTextureCfgMgr obj = (LocalizedTextureCfgMgr)ToLua.CheckObject<LocalizedTextureCfgMgr>(L, 1);
+				string arg0 = ToLua.CheckString(L, 2);
+				bool arg1 = LuaDLL.luaL_checkboolean(L, 3);
+				string o = obj.GetLocalize(arg0, arg1);
+				LuaDLL.lua_pushstring(L, o);
+				return 1;
+			}
+			else
+			{
+				return LuaDLL.luaL_throw(L, "invalid arguments to method: LocalizedTextureCfgMgr.GetLocalize");
+			}
+		}
+		catch (Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e);
+		}
+	}
+}
+

+ 11 - 0
Assets/ToLua/Source/Generate/LocalizedTextureCfgMgrWrap.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6161363a201cceb42ba29edf79e9d026
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 1
Assets/ToLua/Source/Generate/LuaBinder.cs

@@ -118,7 +118,14 @@ public static class LuaBinder
 		SingletonMono_CameraMgrWrap.Register(L);
 		SlideHorizontalOrVerticalLayoutGroupWrap.Register(L);
 		Singleton_AvatarRTMgrWrap.Register(L);
-		L.RegFunction("ResourceLoadCallback_System_Collections_Generic_List_UnityEngine_TextAsset", ResourceLoadCallback_System_Collections_Generic_List_UnityEngine_TextAsset);
+
+        Singleton_LocalizedTextureCfgMgrWrap.Register(L);
+        LocalizedTextureCfgMgrWrap.Register(L);
+        LocalizedSpriteCfgWrap.Register(L);
+        UILocalizeTextureWrap.Register(L);
+
+
+        L.RegFunction("ResourceLoadCallback_System_Collections_Generic_List_UnityEngine_TextAsset", ResourceLoadCallback_System_Collections_Generic_List_UnityEngine_TextAsset);
 		L.RegFunction("ResourceLoadCallbackWithSeqId_UnityEngine_Sprite", ResourceLoadCallbackWithSeqId_UnityEngine_Sprite);
 		L.RegFunction("ResourceLoadCallbackWithSeqId_System_Collections_Generic_List_UnityEngine_Sprite", ResourceLoadCallbackWithSeqId_System_Collections_Generic_List_UnityEngine_Sprite);
 		L.RegFunction("ResourceLoadCallbackWithSeqId_UnityEngine_GameObject", ResourceLoadCallbackWithSeqId_UnityEngine_GameObject);

+ 129 - 0
Assets/ToLua/Source/Generate/Singleton_LocalizedTextureCfgMgrWrap.cs

@@ -0,0 +1,129 @@
+//this source code was auto-generated by tolua#, do not modify it
+using System;
+using LuaInterface;
+
+public class Singleton_LocalizedTextureCfgMgrWrap
+{
+	public static void Register(LuaState L)
+	{
+		L.BeginClass(typeof(Singleton<LocalizedTextureCfgMgr>), typeof(System.Object), "Singleton_LocalizedTextureCfgMgr");
+		L.RegFunction("CreateInstance", CreateInstance);
+		L.RegFunction("DestroyInstance", DestroyInstance);
+		L.RegFunction("GetInstance", GetInstance);
+		L.RegFunction("HasInstance", HasInstance);
+		L.RegFunction("Init", Init);
+		L.RegFunction("UnInit", UnInit);
+		L.RegFunction("__tostring", ToLua.op_ToString);
+		L.RegVar("Instance", get_Instance, null);
+		L.EndClass();
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int CreateInstance(IntPtr L)
+	{
+		try
+		{
+			ToLua.CheckArgsCount(L, 0);
+			Singleton<LocalizedTextureCfgMgr>.CreateInstance();
+			return 0;
+		}
+		catch (Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e);
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int DestroyInstance(IntPtr L)
+	{
+		try
+		{
+			ToLua.CheckArgsCount(L, 0);
+			Singleton<LocalizedTextureCfgMgr>.DestroyInstance();
+			return 0;
+		}
+		catch (Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e);
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int GetInstance(IntPtr L)
+	{
+		try
+		{
+			ToLua.CheckArgsCount(L, 0);
+			LocalizedTextureCfgMgr o = Singleton<LocalizedTextureCfgMgr>.GetInstance();
+			ToLua.PushObject(L, o);
+			return 1;
+		}
+		catch (Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e);
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int HasInstance(IntPtr L)
+	{
+		try
+		{
+			ToLua.CheckArgsCount(L, 0);
+			bool o = Singleton<LocalizedTextureCfgMgr>.HasInstance();
+			LuaDLL.lua_pushboolean(L, o);
+			return 1;
+		}
+		catch (Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e);
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int Init(IntPtr L)
+	{
+		try
+		{
+			ToLua.CheckArgsCount(L, 1);
+			Singleton<LocalizedTextureCfgMgr> obj = (Singleton<LocalizedTextureCfgMgr>)ToLua.CheckObject<Singleton<LocalizedTextureCfgMgr>>(L, 1);
+			obj.Init();
+			return 0;
+		}
+		catch (Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e);
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int UnInit(IntPtr L)
+	{
+		try
+		{
+			ToLua.CheckArgsCount(L, 1);
+			Singleton<LocalizedTextureCfgMgr> obj = (Singleton<LocalizedTextureCfgMgr>)ToLua.CheckObject<Singleton<LocalizedTextureCfgMgr>>(L, 1);
+			obj.UnInit();
+			return 0;
+		}
+		catch (Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e);
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int get_Instance(IntPtr L)
+	{
+		try
+		{
+			ToLua.PushObject(L, Singleton<LocalizedTextureCfgMgr>.Instance);
+			return 1;
+		}
+		catch (Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e);
+		}
+	}
+}
+

+ 11 - 0
Assets/ToLua/Source/Generate/Singleton_LocalizedTextureCfgMgrWrap.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 90b5234437b4c0e4ea1349fbdc9c74a5
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 124 - 0
Assets/ToLua/Source/Generate/UILocalizeTextureWrap.cs

@@ -0,0 +1,124 @@
+//this source code was auto-generated by tolua#, do not modify it
+using System;
+using LuaInterface;
+
+public class UILocalizeTextureWrap
+{
+	public static void Register(LuaState L)
+	{
+		L.BeginClass(typeof(UILocalizeTexture), typeof(UnityEngine.MonoBehaviour));
+		L.RegFunction("Refresh", Refresh);
+		L.RegFunction("SetKey", SetKey);
+		L.RegFunction("Dispose", Dispose);
+		L.RegFunction("__eq", op_Equality);
+		L.RegFunction("__tostring", ToLua.op_ToString);
+		L.RegVar("key", get_key, set_key);
+		L.EndClass();
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int Refresh(IntPtr L)
+	{
+		try
+		{
+			ToLua.CheckArgsCount(L, 1);
+			UILocalizeTexture obj = (UILocalizeTexture)ToLua.CheckObject<UILocalizeTexture>(L, 1);
+			obj.Refresh();
+			return 0;
+		}
+		catch (Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e);
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int SetKey(IntPtr L)
+	{
+		try
+		{
+			ToLua.CheckArgsCount(L, 2);
+			UILocalizeTexture obj = (UILocalizeTexture)ToLua.CheckObject<UILocalizeTexture>(L, 1);
+			string arg0 = ToLua.CheckString(L, 2);
+			obj.SetKey(arg0);
+			return 0;
+		}
+		catch (Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e);
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int Dispose(IntPtr L)
+	{
+		try
+		{
+			ToLua.CheckArgsCount(L, 1);
+			UILocalizeTexture obj = (UILocalizeTexture)ToLua.CheckObject<UILocalizeTexture>(L, 1);
+			obj.Dispose();
+			return 0;
+		}
+		catch (Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e);
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int op_Equality(IntPtr L)
+	{
+		try
+		{
+			ToLua.CheckArgsCount(L, 2);
+			UnityEngine.Object arg0 = (UnityEngine.Object)ToLua.ToObject(L, 1);
+			UnityEngine.Object arg1 = (UnityEngine.Object)ToLua.ToObject(L, 2);
+			bool o = arg0 == arg1;
+			LuaDLL.lua_pushboolean(L, o);
+			return 1;
+		}
+		catch (Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e);
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int get_key(IntPtr L)
+	{
+		object o = null;
+
+		try
+		{
+			o = ToLua.ToObject(L, 1);
+			UILocalizeTexture obj = (UILocalizeTexture)o;
+			string ret = obj.key;
+			LuaDLL.lua_pushstring(L, ret);
+			return 1;
+		}
+		catch(Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e, o, "attempt to index key on a nil value");
+		}
+	}
+
+	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
+	static int set_key(IntPtr L)
+	{
+		object o = null;
+
+		try
+		{
+			o = ToLua.ToObject(L, 1);
+			UILocalizeTexture obj = (UILocalizeTexture)o;
+			string arg0 = ToLua.CheckString(L, 2);
+			obj.key = arg0;
+			return 0;
+		}
+		catch(Exception e)
+		{
+			return LuaDLL.toluaL_exception(L, e, o, "attempt to index key on a nil value");
+		}
+	}
+}
+

+ 11 - 0
Assets/ToLua/Source/Generate/UILocalizeTextureWrap.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7d3d6f7f7d5d6ea46bb8103a838659fc
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Build/BuildDependenceResource/Login/港澳台_new/img_login00.png


+ 132 - 0
Build/BuildDependenceResource/Login/港澳台_new/img_login00.png.meta

@@ -0,0 +1,132 @@
+fileFormatVersion: 2
+guid: da1604d17b741bf48b6dfaf419c0b247
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 12
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 56
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 47
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Windows Store Apps
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: d5289f9aecc690d45be49871b113529d
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Build/BuildDependenceResource/Login/港澳台_new/img_login01.png


+ 132 - 0
Build/BuildDependenceResource/Login/港澳台_new/img_login01.png.meta

@@ -0,0 +1,132 @@
+fileFormatVersion: 2
+guid: 9eb592dc9e2d3f14fa4e324439f8fb8e
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 10
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 50
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 34
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Windows Store Apps
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 710dc56643f2b0445a6af77a6d7e764e
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Build/BuildDependenceResource/Login/港澳台_new/img_login02.png


+ 132 - 0
Build/BuildDependenceResource/Login/港澳台_new/img_login02.png.meta

@@ -0,0 +1,132 @@
+fileFormatVersion: 2
+guid: c50558a0b9e0b414b833edfc498548a8
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 10
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 50
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 34
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Windows Store Apps
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 085835d74a076f24ebce915f61652b9d
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Build/BuildDependenceResource/Logo/Tw-new.png


+ 7 - 7
Build/BuildDependenceResource/PackConfig.json

@@ -1073,8 +1073,8 @@
                 "VUPLEX_CCU",
                 "FPS_DISABLE"
             ],
-            "logo1RelativePath": "xlwy.png",
-            "loginRelativePath": "Default",
+            "logo1RelativePath": "Tw-new.png",
+            "loginRelativePath": "港澳台_new",
             "gameAssetsPath": "Default",
             "specialFuncShield": false,
             "splashScreenRelativeFiles": [],
@@ -1129,8 +1129,8 @@
                 "VUPLEX_CCU",
                 "FPS_DISABLE"
             ],
-            "logo1RelativePath": "xlwy.png",
-            "loginRelativePath": "Default",
+            "logo1RelativePath": "Tw-new.png",
+            "loginRelativePath": "港澳台_new",
             "gameAssetsPath": "Default",
             "specialFuncShield": false,
             "splashScreenRelativeFiles": [],
@@ -1664,7 +1664,7 @@
         {
             "channelName": "小龙",
             "appName": "萌新冒險家",
-            "distributeName": "正式服(东南亚)",
+            "distributeName": "正式服(新港澳台)",
             "channelUniqueId": "22002013",
             "bundleId": "com.Runjin.Wonderland",
             "gameVersionCode": {
@@ -1685,8 +1685,8 @@
                 "VUPLEX_CCU",
                 "FPS_DISABLE"
             ],
-            "logo1RelativePath": "ntquick.png",
-            "loginRelativePath": "Default",
+            "logo1RelativePath": "Tw-new.png",
+            "loginRelativePath": "港澳台_new",
             "gameAssetsPath": "Default",
             "specialFuncShield": false,
             "splashScreenRelativeFiles": [],

+ 103 - 0
Build/NewCfg/LocalizedTextureCfg.csv

@@ -0,0 +1,103 @@
+key,Language,AssetPath,OtherSetting,SetNativeSize
+string,string,string,string,string
+actCfg_bg_2,ActivityImg/fortnighttask_cn,Assets/Content/Icons,,0
+actCfg_actbg_2,ActivityImg/img_fortnighttask_cn,Assets/Content/Icons,,0
+actCfg_bg_31,ActivityImg/petexchange_06_cn,Assets/Content/Icons,,0
+actCfg_bg_114,ActivityImg/kingtask_cn,Assets/Content/Icons,,0
+actCfg_actbg_114,ActivityImg/img_kingtask_cn,Assets/Content/Icons,,0
+actCfg_bg_115,ActivityImg/petexchange_13_cn,Assets/Content/Icons,,0
+actCfg_bg_56,ActivityImg/laodongjie_cn,Assets/Content/Icons,,0
+actCfg_bg_124,ActivityImg/cumulative_recharge2_cn,Assets/Content/Icons,,0
+actCfg_bg_1,ActivityImg/forthnightlogin_cn,Assets/Content/Icons,,0
+actCfg_actbg_1,ActivityImg/img_banner_forthnightlogin_cn,Assets/Content/Icons,,0
+actCfg_bg_63,ActivityImg/holiday520_cn,Assets/Content/Icons,,0
+actCfg_bg_10003,ActivityImg/beginershop_cn,Assets/Content/Icons,,0
+actCfg_bg_18001,ActivityImg/monthrecharge_cn,Assets/Content/Icons,,0
+actCfg_bg_126,ActivityImg/goddessday15_cn,Assets/Content/Icons,,0
+actCfg_actbg_126,ActivityImg/goddessday15bg_cn,Assets/Content/Icons,,0
+actCfg_bg_28,ActivityImg/petexchange_03_cn,Assets/Content/Icons,,0
+actCfg_bg_62,ActivityImg/goddessday5_cn,Assets/Content/Icons,,0
+actCfg_actbg_62,ActivityImg/goddessday5bg_cn,Assets/Content/Icons,,0
+actCfg_bg_120,ActivityImg/guoqingjie_cn,Assets/Content/Icons,,0
+actCfg_actbg_120,ActivityImg/img_guoqingjie_cn,Assets/Content/Icons,,0
+actCfg_bg_61,ActivityImg/goddessday4_cn,Assets/Content/Icons,,0
+actCfg_actbg_61,ActivityImg/goddessday4bg_cn,Assets/Content/Icons,,0
+actCfg_bg_29,ActivityImg/petexchange_04_cn,Assets/Content/Icons,,0
+actCfg_bg_60,ActivityImg/goddessday_cn,Assets/Content/Icons,,0
+actCfg_actbg_60,ActivityImg/goddessdaybg_cn,Assets/Content/Icons,,0
+actCfg_bg_101,ActivityImg/summergoldaward_cn,Assets/Content/Icons,,0
+actCfg_bg_20012,ActivityImg/compositetask1_cn,Assets/Content/Icons,,0
+actCfg_bg_7,ActivityImg/active_icon_jie,Assets/Content/Icons,,0
+actCfg_bg_100,ActivityImg/goddessday12_cn,Assets/Content/Icons,,0
+actCfg_actbg_100,ActivityImg/goddessday12bg_cn,Assets/Content/Icons,,0
+actCfg_bg_26,ActivityImg/petexchange_01_cn,Assets/Content/Icons,,0
+actCfg_bg_102,ActivityImg/qiugaoqishuang_cn,Assets/Content/Icons,,0
+actCfg_bg_96,ActivityImg/petexchange_10_cn,Assets/Content/Icons,,0
+actCfg_bg_13,ActivityImg/active_icon_taqinqiandao,Assets/Content/Icons,,0
+actCfg_bg_27,ActivityImg/petexchange_02_cn,Assets/Content/Icons,,0
+actCfg_bg_98,ActivityImg/petexchange_12_cn,Assets/Content/Icons,,0
+actCfg_bg_24,ActivityImg/petexchange_08_cn,Assets/Content/Icons,,0
+actCfg_bg_104,ActivityImg/goddessday13_cn,Assets/Content/Icons,,0
+actCfg_actbg_104,ActivityImg/goddessday13bg_cn,Assets/Content/Icons,,0
+actCfg_bg_25,ActivityImg/petexchange_09_cn,Assets/Content/Icons,,0
+actCfg_bg_6,ActivityImg/active_icon_shier,Assets/Content/Icons,,0
+actCfg_bg_19002,ActivityImg/smasheggs_bt_cn,Assets/Content/Icons,,0
+actCfg_bg_86,ActivityImg/duanwujierecharge_cn,Assets/Content/Icons,,0
+actCfg_bg_20001,ActivityImg/petexchange_16_cn,Assets/Content/Icons,,0
+actCfg_bg_20003,ActivityImg/compositetask2_cn,Assets/Content/Icons,,0
+actCfg_bg_23,ActivityImg/petexchange_07_cn,Assets/Content/Icons,,0
+actCfg_bg_93,ActivityImg/summercharge_cn,Assets/Content/Icons,,0
+actCfg_bg_92,ActivityImg/summerlogin_cn,Assets/Content/Icons,,0
+actCfg_bg_94,ActivityImg/artifactsummon_cn,Assets/Content/Icons,,0
+actCfg_bg_10000,ActivityImg/dailyrecharge_bt_cn,Assets/Content/Icons,,0
+actCfg_bg_88,ActivityImg/duanwujie_cn,Assets/Content/Icons,,0
+actCfg_actbg_88,ActivityImg/img_duanwujie_cn,Assets/Content/Icons,,0
+actCfg_bg_15002,ActivityImg/active_icon_taqinhaoli,Assets/Content/Icons,,0
+actCfg_bg_10,ActivityImg/naoyuanxiao_cn,Assets/Content/Icons,,0
+actCfg_bg_90,ActivityImg/summerparty_cn,Assets/Content/Icons,,0
+actCfg_bg_21,ActivityImg/petexchange_05_cn,Assets/Content/Icons,,0
+actCfg_bg_137,ActivityImg/shuang11Signin_cn,Assets/Content/Icons,,0
+actCfg_actbg_137,ActivityImg/img_shuang11Signin_cn,Assets/Content/Icons,,0
+actCfg_bg_10001,ActivityImg/dailyrecharge7_bt_cn,Assets/Content/Icons,,0
+actCfg_bg_150,ActivityImg/christmascharge_cn,Assets/Content/Icons,,0
+actCfg_bg_5,ActivityImg/christmas_cn,Assets/Content/Icons,,0
+actCfg_bg_148,ActivityImg/forthnightlogin1_cn,Assets/Content/Icons,,0
+actCfg_actbg_148,ActivityImg/img_banner_forthnightlogin1_cn,Assets/Content/Icons,,0
+actCfg_bg_147,ActivityImg/supercharge_cn,Assets/Content/Icons,,0
+actCfg_bg_146,ActivityImg/superartifactsummon_cn,Assets/Content/Icons,,0
+actCfg_bg_66,ActivityImg/goddessday3_cn,Assets/Content/Icons,,0
+actCfg_actbg_66,ActivityImg/goddessday6bg_cn,Assets/Content/Icons,,0
+actCfg_bg_144,ActivityImg/shuang12charge1_cn,Assets/Content/Icons,,0
+actCfg_bg_142,ActivityImg/goddessday18_cn,Assets/Content/Icons,,0
+actCfg_actbg_142,ActivityImg/goddessday18bg_cn,Assets/Content/Icons,,0
+actCfg_bg_141,ActivityImg/goddessday16_cn,Assets/Content/Icons,,0
+actCfg_actbg_141,ActivityImg/goddessday16bg_cn,Assets/Content/Icons,,0
+actCfg_bg_134,ActivityImg/shuang11charge1_cn,Assets/Content/Icons,,0
+actCfg_bg_64,ActivityImg/childrensday_cn,Assets/Content/Icons,,0
+actCfg_bg_135,ActivityImg/shuang11charge2_cn,Assets/Content/Icons,,0
+actCfg_bg_65,ActivityImg/goddessday7_cn,Assets/Content/Icons,,0
+actCfg_actbg_65,ActivityImg/goddessday7bg_cn,Assets/Content/Icons,,0
+actCfg_bg_140,ActivityImg/goddessday17_cn,Assets/Content/Icons,,0
+actCfg_actbg_140,ActivityImg/goddessday17bg_cn,Assets/Content/Icons,,0
+actCfg_bg_136,ActivityImg/shuang11charge3_cn,Assets/Content/Icons,,0
+actCfg_bg_125,ActivityImg/petexchange_15_cn,Assets/Content/Icons,,0
+actCfg_bg_123,ActivityImg/cumulative_recharge1_cn,Assets/Content/Icons,,0
+actCfg_bg_145,ActivityImg/shuang12charge2_cn,Assets/Content/Icons,,0
+actCfg_bg_119,ActivityImg/goddessday14_cn,Assets/Content/Icons,,0
+actCfg_actbg_119,ActivityImg/goddessday14bg_cn,Assets/Content/Icons,,0
+actCfg_bg_89,ActivityImg/goddessday9_cn,Assets/Content/Icons,,0
+actCfg_actbg_89,ActivityImg/goddessday9bg_cn,Assets/Content/Icons,,0
+actCfg_bg_16,ActivityImg/goddessday2_cn,Assets/Content/Icons,,0
+actCfg_bg_8,ActivityImg/active_icon_sichun,Assets/Content/Icons,,0
+actCfg_bg_103,ActivityImg/artifactsummon3_cn,Assets/Content/Icons,,0
+actCfg_bg_99,ActivityImg/goddessday11_cn,Assets/Content/Icons,,0
+actCfg_actbg_99,ActivityImg/goddessday10bg_cn,Assets/Content/Icons,,0
+actCfg_bg_97,ActivityImg/petexchange_11_cn,Assets/Content/Icons,,0
+actCfg_bg_95,ActivityImg/goddessday10_cn,Assets/Content/Icons,,0
+actCfg_bg_87,ActivityImg/goddessday8_cn,Assets/Content/Icons,,0
+actCfg_actbg_87,ActivityImg/goddessday8bg_cn,Assets/Content/Icons,,0
+actCfg_bg_4,ActivityImg/dailyrecharge_cn,Assets/Content/Icons,,0
+actCfg_bg_58,ActivityImg/cardexchange_01_cn,Assets/Content/Icons,,0
+actCfg_actbg_59,ActivityImg/goddessday3bg_cn,Assets/Content/Icons,,0
+actCfg_bg_15,ActivityImg/qingming_cn,Assets/Content/Icons,,0
+actCfg_bg_57,ActivityImg/activitycharge_cn,Assets/Content/Icons,,0

Plik diff jest za duży
+ 210 - 210
Build/NewCfg/lua/ActivitiesCfg.lua


Plik diff jest za duży
+ 174 - 174
Build/NewCfg/lua/ItemCfg1.lua


Plik diff jest za duży
+ 137 - 137
Build/NewCfg/lua/ItemCfg2.lua


Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików