Răsfoiți Sursa

Merge branch 'master' of http://git.gfggame.com:3000/gfg/client

guodong 3 ani în urmă
părinte
comite
ee25c31ca0
100 a modificat fișierele cu 890 adăugiri și 364 ștergeri
  1. 1 1
      FGUIProject/assets/Card/components/ListCardItem.xml
  2. 0 0
      FGUIProject/assets/ClothingFoster/ClothingFosterFinishUI.xml
  3. 0 0
      FGUIProject/assets/ClothingFoster/ClothingFosterUI.xml
  4. 0 0
      FGUIProject/assets/ClothingFoster/ClothingListUI.xml
  5. 0 0
      FGUIProject/assets/ClothingFoster/ClothingRenewFinishUI.xml
  6. 0 0
      FGUIProject/assets/ClothingFoster/ClothingRewardUI.xml
  7. 0 0
      FGUIProject/assets/ClothingFoster/ClothingUI.xml
  8. 0 0
      FGUIProject/assets/ClothingFoster/ClothingropertyShowUI.xml
  9. 7 7
      FGUIProject/assets/ClothingFoster/package.xml
  10. BIN
      FGUIProject/assets/ClothingSynthetic/images/hc_bj_1.jpg
  11. 0 1
      FGUIProject/assets/ClothingSynthetic/package.xml
  12. 275 95
      GameClient/Assets/Editor/Excel/CodeBuilder.cs
  13. 40 0
      GameClient/Assets/Editor/Excel/CodeTemplateFactory.cs
  14. 5 0
      GameClient/Assets/Editor/Excel/ExcelConfig.cs
  15. 38 9
      GameClient/Assets/Editor/Excel/ExcelReader.cs
  16. 4 1
      GameClient/Assets/Editor/Excel/Template/ConfigArray.txt
  17. 4 0
      GameClient/Assets/Editor/Excel/Template/Dispose.txt
  18. 7 0
      GameClient/Assets/Editor/Excel/Template/Dispose.txt.meta
  19. 7 0
      GameClient/Assets/Editor/Excel/Template/DisposeAllCfgsCache.txt
  20. 7 0
      GameClient/Assets/Editor/Excel/Template/DisposeAllCfgsCache.txt.meta
  21. 1 2
      GameClient/Assets/Editor/Excel/Template/FunctionAll.txt
  22. 5 9
      GameClient/Assets/Editor/Excel/Template/FunctionAllGroupBlock.txt
  23. 1 1
      GameClient/Assets/Editor/Excel/Template/FunctionAllSingleBlock.txt
  24. 4 0
      GameClient/Assets/Editor/Excel/Template/FunctionDispose.txt
  25. 7 0
      GameClient/Assets/Editor/Excel/Template/FunctionDispose.txt.meta
  26. 3 7
      GameClient/Assets/Editor/Excel/Template/FunctionGroup.txt
  27. 4 0
      GameClient/Assets/Editor/Excel/Template/FunctionInit.txt
  28. 7 0
      GameClient/Assets/Editor/Excel/Template/FunctionInit.txt.meta
  29. 5 4
      GameClient/Assets/Editor/Excel/Template/FunctionSingle.txt
  30. 4 0
      GameClient/Assets/Editor/Excel/Template/Init.txt
  31. 7 0
      GameClient/Assets/Editor/Excel/Template/Init.txt.meta
  32. 7 0
      GameClient/Assets/Editor/Excel/Template/InitAllCfgsCache.txt
  33. 7 0
      GameClient/Assets/Editor/Excel/Template/InitAllCfgsCache.txt.meta
  34. 1 0
      GameClient/Assets/Editor/Excel/Template/StrCfgArrayDisposeBlock.txt
  35. 7 0
      GameClient/Assets/Editor/Excel/Template/StrCfgArrayDisposeBlock.txt.meta
  36. 1 0
      GameClient/Assets/Editor/Excel/Template/StrCfgArrayInitBlock.txt
  37. 7 0
      GameClient/Assets/Editor/Excel/Template/StrCfgArrayInitBlock.txt.meta
  38. 5 1
      GameClient/Assets/Editor/Xasset/Simulation/EditorAsset.cs
  39. 4 0
      GameClient/Assets/Game/HotUpdate/Controller/BuyConfirmController.cs
  40. 4 0
      GameClient/Assets/Game/HotUpdate/Controller/BuyItemConteoller.cs
  41. 4 0
      GameClient/Assets/Game/HotUpdate/Controller/BuyTipsController.cs
  42. 3 0
      GameClient/Assets/Game/HotUpdate/Controller/GameController.cs
  43. 1 1
      GameClient/Assets/Game/HotUpdate/Controller/GuideController.cs
  44. 4 4
      GameClient/Assets/Game/HotUpdate/Data/CardDataManager.cs
  45. 1 1
      GameClient/Assets/Game/HotUpdate/Data/DailyTaskDataManager.cs
  46. 1 1
      GameClient/Assets/Game/HotUpdate/Data/FunctionOpenDataManager.cs
  47. 8 0
      GameClient/Assets/Game/HotUpdate/Data/Handler/RoleDataHandler.cs
  48. 1 1
      GameClient/Assets/Game/HotUpdate/Data/ItemDataManager.cs
  49. 9 1
      GameClient/Assets/Game/HotUpdate/Data/MailDataManager.cs
  50. 1 1
      GameClient/Assets/Game/HotUpdate/Data/ScoreSystemData.cs
  51. 17 11
      GameClient/Assets/Game/HotUpdate/DressUp/DressUpUtil.cs
  52. 18 5
      GameClient/Assets/Game/HotUpdate/DressUp/SceneController.cs
  53. 4 4
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Card/UI_ListCardItem.cs
  54. 7 7
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingFosterFinishUI.cs
  55. 1 1
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingFosterFinishUI.cs.meta
  56. 7 7
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingFosterUI.cs
  57. 1 1
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingFosterUI.cs.meta
  58. 7 7
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingListUI.cs
  59. 1 1
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingListUI.cs.meta
  60. 7 7
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingRenewFinishUI.cs
  61. 1 1
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingRenewFinishUI.cs.meta
  62. 7 7
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingRewardUI.cs
  63. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingRewardUI.cs.meta
  64. 7 7
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingUI.cs
  65. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingUI.cs.meta
  66. 7 7
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingropertyShowUI.cs
  67. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingropertyShowUI.cs.meta
  68. 0 11
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_SuitRenewFinishUI.cs.meta
  69. 0 11
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_SuitRewardUI.cs.meta
  70. 0 11
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_SuitUI.cs.meta
  71. 1 2
      GameClient/Assets/Game/HotUpdate/ServerProxy/MailSProxy.cs
  72. 1 0
      GameClient/Assets/Game/HotUpdate/Views/BaseWindow.cs
  73. 1 1
      GameClient/Assets/Game/HotUpdate/Views/Card/CardDetailView.cs
  74. 5 0
      GameClient/Assets/Game/HotUpdate/Views/Card/CardFilterView.cs
  75. 21 18
      GameClient/Assets/Game/HotUpdate/Views/Card/CardFosterView.cs
  76. 5 0
      GameClient/Assets/Game/HotUpdate/Views/Card/CardMoodView.cs
  77. 5 0
      GameClient/Assets/Game/HotUpdate/Views/Card/CardShowView.cs
  78. 9 4
      GameClient/Assets/Game/HotUpdate/Views/Card/CardSkillView.cs
  79. 6 1
      GameClient/Assets/Game/HotUpdate/Views/Card/CardStoryView.cs
  80. 5 0
      GameClient/Assets/Game/HotUpdate/Views/Card/CardUpView.cs
  81. 5 0
      GameClient/Assets/Game/HotUpdate/Views/Card/CardView.cs
  82. 5 1
      GameClient/Assets/Game/HotUpdate/Views/ClothingDecompose/ClothingDecomposeRuleView.cs
  83. 11 2
      GameClient/Assets/Game/HotUpdate/Views/ClothingDecompose/ClothingDecomposeView.cs
  84. 9 5
      GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingFosterFinishView.cs
  85. 11 0
      GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingFosterFinishView.cs.meta
  86. 10 5
      GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingFosterView.cs
  87. 11 0
      GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingFosterView.cs.meta
  88. 16 11
      GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingListView.cs
  89. 11 0
      GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingListView.cs.meta
  90. 9 5
      GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingPropertyShowView.cs
  91. 11 0
      GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingPropertyShowView.cs.meta
  92. 9 5
      GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingRenewFinishView.cs
  93. 11 0
      GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingRenewFinishView.cs.meta
  94. 9 5
      GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingRewardView.cs
  95. 11 0
      GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingRewardView.cs.meta
  96. 27 12
      GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingView.cs
  97. 11 0
      GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingView.cs.meta
  98. 0 11
      GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/SuitFosterFinishView.cs.meta
  99. 0 11
      GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/SuitFosterView.cs.meta
  100. 0 11
      GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/SuitListView.cs.meta

+ 1 - 1
FGUIProject/assets/Card/components/ListCardItem.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="238,477">
   <displayList>
-    <component id="n6_ojlz" name="loaCard" src="jzrr8n" fileName="components/ComCardMask.xml" xy="0,0"/>
+    <component id="n6_ojlz" name="comCard" src="jzrr8n" fileName="components/ComCardMask.xml" xy="0,0"/>
     <image id="n20_pq5x" name="n20" src="pq5x60" fileName="images/kp_dikuang_1.png" xy="2,342"/>
     <loader id="n23_94m1" name="loaBorder" xy="-2,-2" size="242,441" url="ui://7l6lvkay94m19w" autoSize="true"/>
     <loader id="n19_pq5x" name="loaRarity" xy="178,14" size="44,94" url="ui://eg2y0ldpd4iw52" autoSize="true"/>

+ 0 - 0
FGUIProject/assets/ClothingFoster/SuitFosterFinishUI.xml → FGUIProject/assets/ClothingFoster/ClothingFosterFinishUI.xml


+ 0 - 0
FGUIProject/assets/ClothingFoster/SuitFosterUI.xml → FGUIProject/assets/ClothingFoster/ClothingFosterUI.xml


+ 0 - 0
FGUIProject/assets/ClothingFoster/SuitListUI.xml → FGUIProject/assets/ClothingFoster/ClothingListUI.xml


+ 0 - 0
FGUIProject/assets/ClothingFoster/SuitRenewFinishUI.xml → FGUIProject/assets/ClothingFoster/ClothingRenewFinishUI.xml


+ 0 - 0
FGUIProject/assets/ClothingFoster/SuitRewardUI.xml → FGUIProject/assets/ClothingFoster/ClothingRewardUI.xml


+ 0 - 0
FGUIProject/assets/ClothingFoster/SuitUI.xml → FGUIProject/assets/ClothingFoster/ClothingUI.xml


+ 0 - 0
FGUIProject/assets/ClothingFoster/SuitPropertyShowUI.xml → FGUIProject/assets/ClothingFoster/ClothingropertyShowUI.xml


+ 7 - 7
FGUIProject/assets/ClothingFoster/package.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packageDescription id="uicwtr5b">
   <resources>
-    <component id="py5g0" name="SuitListUI.xml" path="/" exported="true"/>
+    <component id="py5g0" name="ClothingListUI.xml" path="/" exported="true"/>
     <component id="py5g1" name="Button2.xml" path="/components/"/>
     <image id="py5g2" name="tujian_anniu_1.png" path="/images/" scale="9grid" scale9grid="53,15,106,30"/>
     <image id="py5g3" name="tujian_xzdg.png" path="/images/"/>
@@ -16,7 +16,7 @@
     <image id="py5gc" name="tujian_jdt_2.png" path="/images/" scale="tile"/>
     <image id="py5gd" name="tujian_suoan.png" path="/images/"/>
     <image id="py5ge" name="zhuxian_shuoto.png" path="/images/"/>
-    <component id="py5gf" name="SuitUI.xml" path="/" exported="true"/>
+    <component id="py5gf" name="ClothingUI.xml" path="/" exported="true"/>
     <image id="py5gg" name="sc_bjtu.png" path="/images/images/" atlas="alone_npot"/>
     <image id="py5gh" name="tujian_tzxian.png" path="/images/images/"/>
     <image id="py5gi" name="tujian_tzk_1.png" path="/images/images/"/>
@@ -26,10 +26,10 @@
     <component id="py5gm" name="Button5.xml" path="/components/"/>
     <component id="py5gn" name="Button6.xml" path="/components/"/>
     <component id="py5go" name="Button7.xml" path="/components/"/>
-    <component id="py5gp" name="SuitFosterUI.xml" path="/" exported="true"/>
-    <component id="py5gq" name="SuitPropertyShowUI.xml" path="/" exported="true"/>
-    <component id="py5gr" name="SuitRewardUI.xml" path="/" exported="true"/>
-    <component id="py5gs" name="SuitFosterFinishUI.xml" path="/" exported="true"/>
+    <component id="py5gp" name="ClothingFosterUI.xml" path="/" exported="true"/>
+    <component id="py5gq" name="ClothingropertyShowUI.xml" path="/" exported="true"/>
+    <component id="py5gr" name="ClothingRewardUI.xml" path="/" exported="true"/>
+    <component id="py5gs" name="ClothingFosterFinishUI.xml" path="/" exported="true"/>
     <component id="py5gt" name="ListPropertyAddItem.xml" path="/components/"/>
     <component id="py5gu" name="ListMaterialsItem.xml" path="/components/"/>
     <component id="py5gv" name="ListPropertyShowItem.xml" path="/components/"/>
@@ -42,7 +42,7 @@
     <component id="nk8d13" name="ComFosterReward.xml" path="/components/"/>
     <component id="nk8d14" name="ComRenewReward.xml" path="/components/"/>
     <component id="nk8d15" name="ComRenewRewardGet.xml" path="/components/"/>
-    <component id="nk8d16" name="SuitRenewFinishUI.xml" path="/" exported="true"/>
+    <component id="nk8d16" name="ClothingRenewFinishUI.xml" path="/" exported="true"/>
     <component id="nk8d17" name="comFosterAni.xml" path="/components/"/>
     <image id="bd1c18" name="fzyc_yjanniu_4.png" path="/images/"/>
     <image id="bd1c19" name="fzyc_dgo.png" path="/images/"/>

BIN
FGUIProject/assets/ClothingSynthetic/images/hc_bj_1.jpg


+ 0 - 1
FGUIProject/assets/ClothingSynthetic/package.xml

@@ -42,7 +42,6 @@
     <image id="ja9w1i" name="jiahao.png" path="/images/"/>
     <image id="ja9w1j" name="hc_kuang_6.png" path="/images/" scale="9grid" scale9grid="25,7,50,14"/>
     <component id="lwri1k" name="Component3.xml" path="/components/"/>
-    <image id="842s1l" name="hc_bj_1.jpg" path="/images/"/>
     <image id="f5bl1m" name="hc_kuang_3.png" path="/images/"/>
     <image id="vek81n" name="hc_btkuang.png" path="/images/"/>
     <movieclip id="wet222" name="MovieClip1.jta" path="/effect/"/>

+ 275 - 95
GameClient/Assets/Editor/Excel/CodeBuilder.cs

@@ -22,7 +22,10 @@ namespace GFGEditor
 
         private static List<string> _names = new List<string>();
         private static List<string> _types = new List<string>();
+        private static List<string> _allNames = new List<string>();
+        private static List<string> _allTypes = new List<string>();
         private static List<int> _indexs = new List<int>();
+        private static List<int> _allIndexs = new List<int>();
         private static Dictionary<string, string> _idDic = new Dictionary<string, string>();
         private static Dictionary<string, string> _itemTypeDicByName = new Dictionary<string, string>();
 
@@ -33,129 +36,193 @@ namespace GFGEditor
             _assignmentBuilder.Clear();
             _parseBuilder.Clear();
             _names.Clear();
+            _allNames.Clear();
             _types.Clear();
-            _idDic.Clear();
+            _allTypes.Clear();
             _indexs.Clear();
+            _allIndexs.Clear();
+            _idDic.Clear();
             //_hasSameIds = false;
-            List<string> keyNames = new List<string>();
-            List<string> keyTypes = new List<string>();
-            List<string> groupNames = new List<string>();
-            List<string> groupTypes = new List<string>();
-            bool groupOnly = false;
+            List<string> keyName = new List<string>();//默认用id查询单条数据
+            List<string> keyType = new List<string>();
+            Dictionary<string, List<string>> keyNames = new Dictionary<string, List<string>>();
+            Dictionary<string, List<string>> keyTypes = new Dictionary<string, List<string>>();
+            Dictionary<string, List<string>> groupNames = new Dictionary<string, List<string>>();
+            Dictionary<string, List<string>> groupTypes = new Dictionary<string, List<string>>();
+            bool groupOnly = false;//可根据id分组时,不提供根据id查询单条数据的接口
             int len = worksheet.Dimension.End.Column;
             if (len <= 0)
             {
                 return;
             }
+            worksheet = HandleExcelWorksheet(worksheet);
             for (int i = 1; i <= len; ++i)
             {
                 ET.Log.Debug($"GenerateCode for i {i}");
                 string annotation = worksheet.Cells[1, i].Text.Trim();
-                string type = worksheet.Cells[2, i].Text.Trim();
+                string typeWhole = worksheet.Cells[2, i].Text.Trim();
+                string type = typeWhole.Split('#')[0];
                 string nameWhole = worksheet.Cells[3, i].Text.Trim();
-                string[] nameInfos = nameWhole.Split('#');
+                string[] nameInfos = nameWhole.Split('#', '&');//#和&不会同时存在,即不会将数组用作数据查询的关键字key
                 string name = nameInfos[0];
-                if (i == 1 || nameWhole.Contains("#k"))
+                if (i == 1)
                 {
-                    keyNames.Add(name);
-                    keyTypes.Add(type);
+                    keyName.Add(name);
+                    keyType.Add(type);
                 }
-                if (nameWhole.Contains("#g"))
+                for (int j = 1; j < nameInfos.Length; j++)
                 {
-                    groupNames.Add(name);
-                    groupTypes.Add(type);
+                    if (nameInfos[j].Contains("k"))
+                    {
+                        if (!keyNames.ContainsKey(nameInfos[j]))
+                        {
+                            keyNames.Add(nameInfos[j], new List<string>());
+                            keyTypes.Add(nameInfos[j], new List<string>());
+                        }
+                        keyNames[nameInfos[j]].Add(name);
+                        keyTypes[nameInfos[j]].Add(type);
+                    }
+                    if (nameInfos[j].Contains("g"))
+                    {
+                        if (!groupNames.ContainsKey(nameInfos[j]))
+                        {
+                            groupNames.Add(nameInfos[j], new List<string>());
+                            groupTypes.Add(nameInfos[j], new List<string>());
+                        }
+                        groupNames[nameInfos[j]].Add(name);
+                        groupTypes[nameInfos[j]].Add(type);
+                    }
                 }
-                ParseDataColumn(annotation, type, name, i);
-            }
-            if (keyNames.Count == groupNames.Count)
-            {
-                bool isSame = true;
-                for (var i = 0; i < keyNames.Count; i++)
+                foreach (string key in groupNames.Keys)
                 {
-                    if (keyNames[i] != groupNames[i])
+                    if (groupNames[key].Count == 1 && groupNames[key][0] == keyName[0])
                     {
-                        isSame = false;
+                        groupOnly = true;
                     }
                 }
-                groupOnly = isSame;
+                ParseDataColumn(annotation, type, name, nameWhole, typeWhole, i);
             }
+
+
             //创建sqlite表
             SQLiteHelper.Instance.CreateTable(configArrayName, _names.ToArray(), _types.ToArray());
             AddDataToSql(worksheet, configName, configArrayName);
 
             //生成管理类代码
             string configArrayStr = CodeTemplateFactory.ConfigArrayTemplate;
-            string paramsStr;
-            string colNames;
-            string colValues;
-            _declarationBuilder.AppendFormat("\t\t//{0}", "组合key");
+
+            _declarationBuilder.AppendFormat("\t\t//{0}", "key");
             _declarationBuilder.AppendLine();
-            _declarationBuilder.AppendFormat("\t\tpublic {0} {1};", "string", "combinedKey");
+            _declarationBuilder.AppendFormat("\t\tpublic {0} {1};", "string", "key");
             _declarationBuilder.AppendLine();
-            //处理查询单条数据函数
-            if (groupOnly)
+
+            // _assignmentBuilder.AppendFormat("\t\t\t{0} = \"{1}\";", "key", keyName);
+            // _assignmentBuilder.AppendLine();
+
+            foreach (string key in keyNames.Keys)
             {
-                configArrayStr = configArrayStr.Replace("{singleFunction}", "");
-                _assignmentBuilder.AppendFormat("\t\t\t{0} = \"{1}\";", "combinedKey", string.Join("_", groupNames));
-                _assignmentBuilder.AppendLine();
+                _declarationBuilder.AppendFormat("\t\t//{0}{1}", "key_", key);
+                _declarationBuilder.AppendLine();
+                _declarationBuilder.AppendFormat("\t\tpublic {0} {1}{2};", "string", "combinedKey_", key);
+                _declarationBuilder.AppendLine();
+
             }
-            else
+
+            foreach (string key in groupNames.Keys)
             {
-                string FunctionSingleStr = CodeTemplateFactory.FunctionSingleTemplate;
-                CreateParamsString(keyNames, keyTypes, out paramsStr, out colNames, out colValues);
-                FunctionSingleStr = FunctionSingleStr.Replace("{params}", paramsStr);
-                FunctionSingleStr = FunctionSingleStr.Replace("{colNames}", colNames);
-                FunctionSingleStr = FunctionSingleStr.Replace("{colValues}", colValues);
-                configArrayStr = configArrayStr.Replace("{singleFunction}", FunctionSingleStr);
-                _assignmentBuilder.AppendFormat("\t\t\t{0} = \"{1}\";", "combinedKey", string.Join("_", keyNames));
-                _assignmentBuilder.AppendLine();
+                _declarationBuilder.AppendFormat("\t\t//{0}{1}", "groupKey_", key);
+                _declarationBuilder.AppendLine();
+                _declarationBuilder.AppendFormat("\t\tpublic {0} {1}{2};", "string", "groupKey_", key);
+                _declarationBuilder.AppendLine();
+
             }
 
-            //处理查询多条数据函数
-            if (groupNames.Count > 0)
+            string strDiapose = "_allDatas = null;\n";
+
+
+
+            string singleFunction = "";
+            //处理查询单条数据函数
+            if (!groupOnly)
+            {
+                singleFunction = HandleSingleFunction("key", keyName, keyType, "GetCfg", "_cfgsDic", configArrayStr);
+                strDiapose = string.Format("{0}\t\t\t{1}\n", strDiapose, "_cfgsDic.Clear();");
+            }
+            foreach (string key in keyNames.Keys)
             {
-                string FunctionGroupStr = CodeTemplateFactory.FunctionGroupTemplate;
-                CreateParamsString(groupNames, groupTypes, out paramsStr, out colNames, out colValues);
-                FunctionGroupStr = FunctionGroupStr.Replace("{params}", paramsStr);
-                FunctionGroupStr = FunctionGroupStr.Replace("{colNames}", colNames);
-                FunctionGroupStr = FunctionGroupStr.Replace("{colValues}", colValues);
+                string functionName = string.Format("GetCfgBy{0}", string.Join("And", keyNames[key]));
+                string cfgsDicName = string.Format("_cfgsDicBy{0}", string.Join("And", keyNames[key]));
 
-                configArrayStr = configArrayStr.Replace("{groupFunction}", FunctionGroupStr);
+                singleFunction = singleFunction + HandleSingleFunction("combinedKey_" + key, keyNames[key], keyTypes[key], functionName, cfgsDicName, configArrayStr);
+                strDiapose = string.Format("{0}\t\t\t{1}.Clear();\n", strDiapose, cfgsDicName);
             }
-            else
+            configArrayStr = configArrayStr.Replace("{singleFunction}", singleFunction);
+
+            string groupFunction = "";
+
+            //处理查询多条数据函数
+            if (groupNames.Count > 0)
             {
-                configArrayStr = configArrayStr.Replace("{groupFunction}", "");
+                int index0 = 0;
+                foreach (string key in groupNames.Keys)
+                {
+                    string functionName = groupNames.Count == 1 ? "GetCfgs" : string.Format("GetCfgsBy{0}", string.Join("And", groupNames[key]));
+                    string cfgsGroupDicName = string.Format("_cfgsGroupDic{0}", index0);
+                    groupFunction = groupFunction + HandleGroupFunction("groupKey_" + key, groupNames[key], groupTypes[key], functionName, cfgsGroupDicName, configArrayStr);
+                    strDiapose = string.Format("{0}\t\t\t{1}.Clear();", strDiapose, cfgsGroupDicName);
+                    index0++;
+                }
             }
+            configArrayStr = configArrayStr.Replace("{groupFunction}", groupFunction);
+
+
             //处理全部数据函数
             string FunctionAllStr = CodeTemplateFactory.FunctionAllTemplate;
             configArrayStr = configArrayStr.Replace("{allFunction}", FunctionAllStr);
-            //if (needAll)
-            //{
+            configArrayStr = configArrayStr.Replace("{Init}", CodeTemplateFactory.InitTemplate);
+            configArrayStr = configArrayStr.Replace("{Dispose}", CodeTemplateFactory.DisposeTemplate);
+            configArrayStr = configArrayStr.Replace("{StrDiapose}", strDiapose);
+
             configArrayStr = configArrayStr.Replace("{editorConditionStart}", "");
             configArrayStr = configArrayStr.Replace("{editorConditionEnd}", "");
-            //}
-            //else
-            //{
-            //    configArrayStr = configArrayStr.Replace("{editorConditionStart}", "#if UNITY_EDITOR");
-            //    configArrayStr = configArrayStr.Replace("{editorConditionEnd}", "#endif");
-            //}
-            //处理回调函数内语句块
-            if (groupOnly)
-            {
-                configArrayStr = configArrayStr.Replace("{FunctionAllSingleBlock}", "");
-            }
-            else
+
+
+
+            List<string> singleStrArry = new List<string>();
+            if (!groupOnly)
             {
-                configArrayStr = configArrayStr.Replace("{FunctionAllSingleBlock}", CodeTemplateFactory.FunctionAllSingleBlockTemplate);
+                string singleStr = CodeTemplateFactory.FunctionAllSingleBlockTemplate;
+                singleStr = singleStr.Replace("{cfgsDicName}", "_cfgsDic");
+                singleStr = singleStr.Replace("{combinedKey}", "cfg.key");
+                singleStrArry.Add(singleStr);
             }
-            if (groupNames.Count > 0)
+            foreach (string key in keyNames.Keys)
             {
-                configArrayStr = configArrayStr.Replace("{FunctionAllGroupBlock}", CodeTemplateFactory.FunctionAllGroupBlockTemplate);
+                string cfgsDicName = string.Format("_cfgsDicBy{0}", string.Join("And", keyNames[key]));
+                string singleStr = CodeTemplateFactory.FunctionAllSingleBlockTemplate;
+                singleStr = singleStr.Replace("{cfgsDicName}", cfgsDicName);
+                singleStr = singleStr.Replace("{combinedKey}", "cfg.combinedKey_" + key);
+                singleStrArry.Add(singleStr);
             }
-            else
+            string singleStrs = string.Join("\n", singleStrArry);
+
+            List<string> groupStrArry = new List<string>();
+            int index1 = 0;
+            foreach (string key in groupNames.Keys)
             {
-                configArrayStr = configArrayStr.Replace("{FunctionAllGroupBlock}", "");
+                string cfgsDicName = string.Format("_cfgsGroupDic{0}", index1);
+                string singleStr = CodeTemplateFactory.FunctionAllGroupBlockTemplate;
+                singleStr = singleStr.Replace("{cfgsGroupDicName}", cfgsDicName);
+                singleStr = singleStr.Replace("{groupKey}", "cfg.groupKey_" + key);
+                singleStr = singleStr.Replace("{list}", "list" + index1);
+                groupStrArry.Add(singleStr);
+                index1++;
             }
+            string groupStrs = string.Join("\n", groupStrArry);
+
+            configArrayStr = configArrayStr.Replace("{FunctionAllBlock}", singleStrs + "\n" + groupStrs);
+
+            // foreach()
             //名称处理
             configArrayStr = configArrayStr.Replace("{CfgName}", configName);
             configArrayStr = configArrayStr.Replace("{CfgArrayName}", configArrayName);
@@ -177,17 +244,51 @@ namespace GFGEditor
 
             Debug.LogFormat("生成{0}", configName);
         }
+        private static string HandleSingleFunction(string key, List<string> keyNames, List<string> keyTypes, string functionName, string cfgsDicName, string configArrayStr)
+        {
+            string FunctionSingleStr = CodeTemplateFactory.FunctionSingleTemplate;
+            CreateParamsString(keyNames, keyTypes, out string paramsStr, out string colNames, out string colValues);
+            FunctionSingleStr = FunctionSingleStr.Replace("{params}", paramsStr);
+            FunctionSingleStr = FunctionSingleStr.Replace("{colNames}", colNames);
+            FunctionSingleStr = FunctionSingleStr.Replace("{colValues}", colValues);
+            FunctionSingleStr = FunctionSingleStr.Replace("{FunctionName}", functionName);
+            FunctionSingleStr = FunctionSingleStr.Replace("{cfgsDicName}", cfgsDicName);
 
-        private static void ParseDataColumn(string annotation, string type, string name, int index)
+            _assignmentBuilder.AppendFormat("\t\t\t{0} = \"{1}\";", key, string.Join("_", keyNames));
+            _assignmentBuilder.AppendLine();
+            return FunctionSingleStr;
+        }
+        private static string HandleGroupFunction(string key, List<string> groupNames, List<string> groupTypes, string functionName, string cfgsGroupDicName, string configArrayStr)
+        {
+            string FunctionGroupStr = CodeTemplateFactory.FunctionGroupTemplate;
+            CreateParamsString(groupNames, groupTypes, out string paramsStr, out string colNames, out string colValues);
+            FunctionGroupStr = FunctionGroupStr.Replace("{params}", paramsStr);
+            FunctionGroupStr = FunctionGroupStr.Replace("{colNames}", colNames);
+            FunctionGroupStr = FunctionGroupStr.Replace("{colValues}", colValues);
+            FunctionGroupStr = FunctionGroupStr.Replace("{FunctionName}", functionName);
+            FunctionGroupStr = FunctionGroupStr.Replace("{cfgsGroupDicName}", cfgsGroupDicName);
+
+            _assignmentBuilder.AppendFormat("\t\t\t{0} = \"{1}\";", key, string.Join("_", groupNames));
+            _assignmentBuilder.AppendLine();
+            return FunctionGroupStr;
+
+        }
+        private static void ParseDataColumn(string annotation, string type, string name, string nameWhole, string typeWhole, int index)
         {
             if (type.Length > 0 && name.Length > 0)
             {
+
+                _allNames.Add(nameWhole);
+                _allTypes.Add(typeWhole);
+                _allIndexs.Add(index);
+
+                if (_names.IndexOf(SQL_PREFIX + name) >= 0) return;
                 _names.Add(SQL_PREFIX + name);
                 _types.Add("TEXT");
                 _indexs.Add(index);
 
                 //生成解析后的数据变量
-                _declarationBuilder.AppendFormat("\t\t//{0}", annotation);
+                _declarationBuilder.AppendFormat("\t\t//{0}", annotation.Split('#')[0]);
                 _declarationBuilder.AppendLine();
                 if (type.Contains("[]"))
                 {
@@ -240,7 +341,10 @@ namespace GFGEditor
                 }
             }
         }
-
+        private static ExcelWorksheet HandleExcelWorksheet(ExcelWorksheet worksheet)
+        {
+            return worksheet;
+        }
 
         private static void AddDataToSql(ExcelWorksheet worksheet, string configName, string configArrayName)
         {
@@ -265,40 +369,46 @@ namespace GFGEditor
             }
         }
 
-        private static void WriteRowDataToSqlite(ExcelRange excelRange, string configArrayName, int row)
+        private static void WriteRowDataToSqlite(ExcelRange worksheet, string configArrayName, int row)
         {
             List<string> values = new List<string>();
-            var keyValue = excelRange[row, 1].Text.Trim();
+            var keyValue = worksheet[row, 1].Text.Trim();
             foreach (var i in _indexs)
             {
-                var fieldName = _names[i - 1];
-                var value = excelRange[row, i].Text.Trim();
-                if (configArrayName == nameof(ItemTypeCfgArray))
+                if (configArrayName == "GiftBagCfgArray")
                 {
-                    CacheItemTypeByName(keyValue, fieldName, value);
+                    Debug.Log("zoya");
                 }
-                else if (configArrayName == nameof(ItemCfgArray))
+                var fieldName = _allNames[i - 1];
+                var name = fieldName.Split('#')[0];
+                var value = worksheet[row, i].Text.Trim();
+                if (configArrayName == nameof(ItemTypeCfgArray) && name == "name")
                 {
-                    HandleItemCfgField(keyValue, fieldName, ref value);
+                    CacheItemTypeByName(keyValue, name, value);
+                    values.Add(value);
+                }
+                else if (configArrayName == nameof(ItemCfgArray) && (name == "itemType" || name == "subType"))
+                {
+                    HandleItemCfgField(keyValue, name, ref value);
+                    values.Add(value);
+                }
+                else
+                {
+                    string _value = GetValue(configArrayName, worksheet, name, row, i);
+                    values.Add(_value);
                 }
-
-                //value = Regex.Replace(value, ":", "/:");
-                values.Add(value);
             }
             SQLiteHelper.Instance.InsertValues(configArrayName, values.ToArray());
         }
 
         private static void CacheItemTypeByName(string idStr, string fieldName, string value)
         {
-            if (fieldName == SQL_PREFIX + "name")
-            {
-                _itemTypeDicByName[value] = idStr;
-            }
+            _itemTypeDicByName[value] = idStr;
         }
 
         private static void HandleItemCfgField(string idStr, string fieldName, ref string value)
         {
-            fieldName = fieldName.Substring(1);
+            // fieldName = fieldName.Substring(1);
             ET.Log.Debug($"idStr {idStr} fieldName {fieldName} value {value}");
             int id = int.Parse(idStr);
             int itemType = (int)Mathf.Floor(id / GameConst.MAX_COUNT_EVERY_TYPE_ITEM);
@@ -329,11 +439,6 @@ namespace GFGEditor
                     }
                 }
             }
-            // else if (fieldName == "resLayer1" || fieldName == "resLayer2")
-            // {
-            //     value = value.Replace('n', '1');
-            //     value = value.Replace('t', '2');
-            // }
         }
 
         private static void CreateParamsString(List<string> keyNames, List<string> keyTypes, out string paramStr, out string colNames, out string colValues)
@@ -355,5 +460,80 @@ namespace GFGEditor
             }
         }
 
+        private static string GetValue(string configArrayName, ExcelRange worksheet, string name, int row, int index)
+        {
+            Dictionary<string, List<string>> _twoDimensionalDic = new Dictionary<string, List<string>>();
+            string value = "";
+            // foreach (var i in _allIndexs)
+            // {
+            for (int i = index - 1; i < _allIndexs.Count; i++)
+            {
+                // int _index = i - 1;
+                string _name = _allNames[i];
+                string[] _names = _name.Split('#');
+                string _type = _allTypes[i];
+                string[] _types = _type.Split('#');
+                string _value = worksheet[row, i + 1].Text.Trim();
+                if (_names[0] != name) continue;
+
+
+                if (_type.Contains("[][]") && _type.Contains("#"))
+                {
+                    if (!_twoDimensionalDic.ContainsKey(_types[1]) && string.IsNullOrEmpty(_value))
+                    {
+                        break;
+                    }
+                    if (string.IsNullOrEmpty(_value))
+                    {
+                        ET.Log.Error(configArrayName + "  第" + row + "行  " + _type + "   无数值!");
+                        continue;
+                    }
+                    if (!_twoDimensionalDic.ContainsKey(_types[1]))
+                    {
+                        _twoDimensionalDic.Add(_types[1], new List<string>());
+                    }
+                    _twoDimensionalDic[_types[1]].Add(_value);
+                }
+                else if (_type.Contains("[]") && _type.Contains("#"))
+                {
+                    if (string.IsNullOrEmpty(_value)) continue;
+                    if (string.IsNullOrEmpty(value))
+                    {
+                        value = _value;
+                    }
+                    else
+                    {
+                        value = string.Format("{0};{1}", value, _value);
+                    }
+                }
+                else
+                {
+                    value = _value;
+                    break;
+                }
+            }
+            if (_twoDimensionalDic.Count > 0)
+            {
+                List<string> _values = new List<string>();
+                foreach (string key in _twoDimensionalDic.Keys)
+                {
+                    // if (!_twoDimensionalDic[key].ContainsKey(0)) continue;
+                    // string _value0 = _twoDimensionalDic[key][0];
+                    // if (!_twoDimensionalDic[key].ContainsKey(1))
+                    // {
+                    //     _values.Add(_value0);
+                    // }
+                    // else
+                    // {
+                    //     string str = string.Format("{0}*{1}", _value0, _twoDimensionalDic[key][1]);
+                    //     _values.Add(str);
+                    // }
+                    _values.Add(string.Join("*", _twoDimensionalDic[key]));
+                }
+                value = string.Join(";", _values);
+            }
+            return value;
+        }
+
     }
 }

+ 40 - 0
GameClient/Assets/Editor/Excel/CodeTemplateFactory.cs

@@ -9,11 +9,19 @@ namespace GFGEditor
 
         public static string ConfigTemplate { get; private set; }
         public static string ConfigArrayTemplate { get; private set; }
+        public static string InitTemplate { get; private set; }
+        public static string DisposeTemplate { get; private set; }
         public static string FunctionSingleTemplate { get; private set; }
         public static string FunctionGroupTemplate { get; private set; }
         public static string FunctionAllTemplate { get; private set; }
         public static string FunctionAllSingleBlockTemplate { get; private set; }
         public static string FunctionAllGroupBlockTemplate { get; private set; }
+        public static string DisposeAllCfgsCacheTemplate { get; private set; }
+        public static string FunctionDisposeTemplate { get; private set; }
+        public static string StrCfgArrayDisposeTemplate { get; private set; }
+        public static string InitAllCfgsCacheTemplate { get; private set; }
+        public static string FunctionInitTemplate { get; private set; }
+        public static string StrCfgArrayInitTemplate { get; private set; }
         //public static string ConfigTemplateEditor { get => _configTemplateEditor; }
         //public static string ConfigArrayTemplateEditor { get => _configArrayTemplateEditor; }
 
@@ -28,6 +36,14 @@ namespace GFGEditor
             {
                 ConfigArrayTemplate = sr.ReadToEnd();
             }
+            using (StreamReader sr = new StreamReader(ExcelConfig.templatePath + "Init.txt"))
+            {
+                InitTemplate = sr.ReadToEnd();
+            }
+            using (StreamReader sr = new StreamReader(ExcelConfig.templatePath + "Dispose.txt"))
+            {
+                DisposeTemplate = sr.ReadToEnd();
+            }
             using (StreamReader sr = new StreamReader(ExcelConfig.templatePath + "FunctionSingle.txt"))
             {
                 FunctionSingleTemplate = sr.ReadToEnd();
@@ -49,6 +65,30 @@ namespace GFGEditor
             {
                 FunctionAllGroupBlockTemplate = sr.ReadToEnd();
             }
+            using (StreamReader sr = new StreamReader(ExcelConfig.templatePath + "DisposeAllCfgsCache.txt"))
+            {
+                DisposeAllCfgsCacheTemplate = sr.ReadToEnd();
+            }
+            using (StreamReader sr = new StreamReader(ExcelConfig.templatePath + "FunctionDispose.txt"))
+            {
+                FunctionDisposeTemplate = sr.ReadToEnd();
+            }
+            using (StreamReader sr = new StreamReader(ExcelConfig.templatePath + "StrCfgArrayDisposeBlock.txt"))
+            {
+                StrCfgArrayDisposeTemplate = sr.ReadToEnd();
+            }
+            using (StreamReader sr = new StreamReader(ExcelConfig.templatePath + "InitAllCfgsCache.txt"))
+            {
+                InitAllCfgsCacheTemplate = sr.ReadToEnd();
+            }
+            using (StreamReader sr = new StreamReader(ExcelConfig.templatePath + "FunctionInit.txt"))
+            {
+                FunctionInitTemplate = sr.ReadToEnd();
+            }
+            using (StreamReader sr = new StreamReader(ExcelConfig.templatePath + "StrCfgArrayInitBlock.txt"))
+            {
+                StrCfgArrayInitTemplate = sr.ReadToEnd();
+            }
         }
 
     }

+ 5 - 0
GameClient/Assets/Editor/Excel/ExcelConfig.cs

@@ -25,6 +25,11 @@ namespace GFGEditor
         /// </summary>
         public const string configArrayCodePath = "Assets/Game/CSShare/GFG//HotUpdate/ExcelConfig/GenCode/Array/";
 
+        /// <summary>
+        /// 存放数据Dispose、Init文件的文件夹路径
+        /// </summary>
+        public const string handleAllCfgsCache = "Assets/Game/CSShare/GFG//HotUpdate/ExcelConfig/GenCode/";
+
 
         /// <summary>
         /// 存放Excel转化CS文件的文件夹路径

+ 38 - 9
GameClient/Assets/Editor/Excel/ExcelReader.cs

@@ -15,44 +15,72 @@ namespace GFGEditor
         {
             string[] files = Directory.GetFiles(ExcelConfig.excelsFolderPath);
             int totalCount = files.Length;
+            string strCfgArrayDispose = "";
+            string strCfgArrayInit = "";
             for (int i = 0; i < totalCount; i++)
             {
                 string filePath = files[i];
                 string fileName = Path.GetFileNameWithoutExtension(filePath);
-                if(!fileName.Contains("~"))
+                if (!fileName.Contains("~"))
                 {
                     ET.Log.Debug($"fileName {fileName}");
                     Stream stream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);
                     ExcelPackage excelPackage = new ExcelPackage(stream);
                     //IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
                     //DataSet result = excelReader.AsDataSet();
-                    
-                    HandleTableCollection(excelPackage.Workbook.Worksheets, rowCollectionHandler);
+
+                    HandleTableCollection(excelPackage.Workbook.Worksheets, rowCollectionHandler, out string dispose, out string init);
+                    strCfgArrayDispose = strCfgArrayDispose + dispose;
+                    strCfgArrayInit = strCfgArrayInit + init;
                 }
             }
+            string functionDispose = CodeTemplateFactory.FunctionDisposeTemplate;
+            functionDispose = functionDispose.Replace("{StrCfgArrayDispose}", strCfgArrayDispose);
+            string disposeAllCfgsCache = CodeTemplateFactory.DisposeAllCfgsCacheTemplate;
+            disposeAllCfgsCache = disposeAllCfgsCache.Replace("{FunctionDispose}", functionDispose);
+            using (StreamWriter sw = new StreamWriter(ExcelConfig.handleAllCfgsCache + "DisposeAllCfgsCache.cs"))
+            {
+                sw.Write(disposeAllCfgsCache);
+            }
+
+            string functionInit = CodeTemplateFactory.FunctionInitTemplate;
+            functionInit = functionInit.Replace("{StrCfgArrayInit}", strCfgArrayInit);
+            string initAllCfgsCache = CodeTemplateFactory.InitAllCfgsCacheTemplate;
+            initAllCfgsCache = initAllCfgsCache.Replace("{FunctionInit}", functionInit);
+            using (StreamWriter sw = new StreamWriter(ExcelConfig.handleAllCfgsCache + "InitAllCfgsCache.cs"))
+            {
+                sw.Write(initAllCfgsCache);
+            }
         }
 
-        private static void HandleTableCollection(ExcelWorksheets Worksheets, RowCollectionHandler rowCollectionHandler)
+        private static void HandleTableCollection(ExcelWorksheets Worksheets, RowCollectionHandler rowCollectionHandler, out string strDispose, out string strInit)
         {
+            strDispose = "";
+            strInit = "";
             for (int i = 1; i <= Worksheets.Count; i++)
             {
                 ExcelWorksheet worksheet = Worksheets[i];
-                HandleTable(worksheet, rowCollectionHandler);
+                string configArrayName = HandleTable(worksheet, rowCollectionHandler);
+                if (string.IsNullOrEmpty(configArrayName)) continue;
+                string dispose = CodeTemplateFactory.StrCfgArrayDisposeTemplate.Replace("{configArrayName}", configArrayName);
+                strDispose = strDispose + "\n" + dispose;
+                string init = CodeTemplateFactory.StrCfgArrayInitTemplate.Replace("{configArrayName}", configArrayName);
+                strInit = strInit + "\n" + init;
             }
         }
 
-        private static void HandleTable(ExcelWorksheet worksheet, RowCollectionHandler rowCollectionHandler)
+        private static string HandleTable(ExcelWorksheet worksheet, RowCollectionHandler rowCollectionHandler)
         {
             string[] names = worksheet.Name.Split('_');
             if (names.Length < 2)
             {
                 //未正确命名的表格
-                return;
+                return "";
             }
             if (worksheet.Name.Contains("#"))
             {
                 //被注释的表格
-                return;
+                return "";
             }
             string configItemName = names[1];
             string managerTag = "";
@@ -62,9 +90,10 @@ namespace GFGEditor
             }
             //文件名及管理器名
             string configManagerName = string.Format(ExcelConfig.CONFIG_ARRAY_TEMPLATE, configItemName, managerTag);
-            
 
             rowCollectionHandler(worksheet, configItemName, configManagerName);
+
+            return configManagerName;
         }
 
     }

+ 4 - 1
GameClient/Assets/Editor/Excel/Template/ConfigArray.txt

@@ -4,7 +4,10 @@ namespace GFGGame
 {
     public partial class {CfgArrayName} : SingletonBase<{CfgArrayName}>
     {
-    
+{Init}
+
+{Dispose}
+
 {singleFunction}
 
 {groupFunction}

+ 4 - 0
GameClient/Assets/Editor/Excel/Template/Dispose.txt

@@ -0,0 +1,4 @@
+		public void Diapose()
+		{
+			{StrDiapose}
+		}

+ 7 - 0
GameClient/Assets/Editor/Excel/Template/Dispose.txt.meta

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

+ 7 - 0
GameClient/Assets/Editor/Excel/Template/DisposeAllCfgsCache.txt

@@ -0,0 +1,7 @@
+namespace GFGGame
+{
+    public partial class DisposeAllCfgsCache : SingletonBase<DisposeAllCfgsCache>
+    {
+{FunctionDispose}
+    }
+}

+ 7 - 0
GameClient/Assets/Editor/Excel/Template/DisposeAllCfgsCache.txt.meta

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

+ 1 - 2
GameClient/Assets/Editor/Excel/Template/FunctionAll.txt

@@ -1,8 +1,7 @@
 
         private void HandleCfgInAll({CfgName} cfg)
         {
-{FunctionAllSingleBlock}
-{FunctionAllGroupBlock}
+{FunctionAllBlock}
         }
 
 {editorConditionStart}

+ 5 - 9
GameClient/Assets/Editor/Excel/Template/FunctionAllGroupBlock.txt

@@ -1,11 +1,7 @@
-            _cfgsGroupDic.TryGetValue(cfg.combinedKey, out var list);
-            if(list != null)
+            {cfgsGroupDicName}.TryGetValue({groupKey}, out var {list});
+            if({list} == null)
             {
-                list.Clear();
+                {list} = new List<{CfgName}>();
+                {cfgsGroupDicName}.Add({groupKey}, {list});
             }
-            else
-            {
-                list = new List<{CfgName}>();
-                _cfgsGroupDic.Add(cfg.combinedKey, list);
-            }
-            list.Add(cfg);
+            {list}.Add(cfg);

+ 1 - 1
GameClient/Assets/Editor/Excel/Template/FunctionAllSingleBlock.txt

@@ -1 +1 @@
-            _cfgsDic[cfg.combinedKey] = cfg;
+            {cfgsDicName}[{combinedKey}] = cfg;

+ 4 - 0
GameClient/Assets/Editor/Excel/Template/FunctionDispose.txt

@@ -0,0 +1,4 @@
+        public void DisposeAll()
+        {
+			{StrCfgArrayDispose}
+        }

+ 7 - 0
GameClient/Assets/Editor/Excel/Template/FunctionDispose.txt.meta

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

+ 3 - 7
GameClient/Assets/Editor/Excel/Template/FunctionGroup.txt

@@ -1,13 +1,9 @@
-        private void HandleCfgInGroup({CfgName} cfg)
-        {
-{FunctionAllSingleBlock}
-        }
 
-        private Dictionary<string, List<{CfgName}>> _cfgsGroupDic = new Dictionary<string, List<{CfgName}>>();
-        public List<{CfgName}> GetCfgs({params})
+        private Dictionary<string, List<{CfgName}>> {cfgsGroupDicName} = new Dictionary<string, List<{CfgName}>>();
+        public List<{CfgName}> {FunctionName}({params})
         {
             var colNames = new string[] { {colNames}};
             var colValues = new string[] { {colValues} };
-            return ConfigUtil.GetCfgs<{CfgName}>("{CfgArrayName}", colNames, colValues, _cfgsGroupDic, HandleCfgInGroup);
+            return ConfigUtil.GetCfgs<{CfgName}>("{CfgArrayName}", colNames, colValues, {cfgsGroupDicName});
         }
         

+ 4 - 0
GameClient/Assets/Editor/Excel/Template/FunctionInit.txt

@@ -0,0 +1,4 @@
+        public void InitAll()
+        {
+	        {StrCfgArrayInit}
+        }

+ 7 - 0
GameClient/Assets/Editor/Excel/Template/FunctionInit.txt.meta

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

+ 5 - 4
GameClient/Assets/Editor/Excel/Template/FunctionSingle.txt

@@ -1,7 +1,8 @@
-        private Dictionary<string, {CfgName}> _cfgsDic = new Dictionary<string, {CfgName}>();
-        public {CfgName} GetCfg({params})
+        private Dictionary<string, {CfgName}> {cfgsDicName} = new Dictionary<string, {CfgName}>();
+        public {CfgName} {FunctionName}({params})
         { 
             var colNames = new string[] { {colNames}};
             var colValues = new string[] { {colValues} };
-            return ConfigUtil.GetCfg<{CfgName}>("{CfgArrayName}", colNames, colValues, _cfgsDic);
-        }
+            return ConfigUtil.GetCfg<{CfgName}>("{CfgArrayName}", colNames, colValues, {cfgsDicName});
+        }
+        

+ 4 - 0
GameClient/Assets/Editor/Excel/Template/Init.txt

@@ -0,0 +1,4 @@
+		public void Init ()
+		{ 
+			{CfgName}[] dataArray =this.dataArray;
+		}

+ 7 - 0
GameClient/Assets/Editor/Excel/Template/Init.txt.meta

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

+ 7 - 0
GameClient/Assets/Editor/Excel/Template/InitAllCfgsCache.txt

@@ -0,0 +1,7 @@
+namespace GFGGame
+{
+    public partial class InitAllCfgsCache : SingletonBase<InitAllCfgsCache>
+    {
+{FunctionInit}
+    }
+}

+ 7 - 0
GameClient/Assets/Editor/Excel/Template/InitAllCfgsCache.txt.meta

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

+ 1 - 0
GameClient/Assets/Editor/Excel/Template/StrCfgArrayDisposeBlock.txt

@@ -0,0 +1 @@
+			{configArrayName}.Instance.Diapose();

+ 7 - 0
GameClient/Assets/Editor/Excel/Template/StrCfgArrayDisposeBlock.txt.meta

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

+ 1 - 0
GameClient/Assets/Editor/Excel/Template/StrCfgArrayInitBlock.txt

@@ -0,0 +1 @@
+			{configArrayName}.Instance.Init();

+ 7 - 0
GameClient/Assets/Editor/Excel/Template/StrCfgArrayInitBlock.txt.meta

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

+ 5 - 1
GameClient/Assets/Editor/Xasset/Simulation/EditorAsset.cs

@@ -15,7 +15,11 @@ namespace VEngine.Editor.Simulation
         {
             if (asset == null) return;
 
-            if (!(asset is GameObject)) Resources.UnloadAsset(asset);
+            if (!(asset is GameObject))
+            {
+                Resources.UnloadAsset(asset);
+                Resources.UnloadUnusedAssets();
+            }
 
             asset = null;
         }

+ 4 - 0
GameClient/Assets/Game/HotUpdate/Controller/BuyConfirmController.cs

@@ -24,5 +24,9 @@ namespace GFGGame
                 _buyConfirmView.Hide();
             }
         }
+        public static void Dispose()
+        {
+            _buyConfirmView = null;
+        }
     }
 }

+ 4 - 0
GameClient/Assets/Game/HotUpdate/Controller/BuyItemConteoller.cs

@@ -50,5 +50,9 @@ namespace GFGGame
                 _buyCountView.Hide();
             }
         }
+        public static void Dispose()
+        {
+            _buyCountView = null;
+        }
     }
 }

+ 4 - 0
GameClient/Assets/Game/HotUpdate/Controller/BuyTipsController.cs

@@ -24,5 +24,9 @@ namespace GFGGame
                 _buyTipsView.Hide();
             }
         }
+        public static void Dispose()
+        {
+            _buyTipsView = null;
+        }
     }
 }

+ 3 - 0
GameClient/Assets/Game/HotUpdate/Controller/GameController.cs

@@ -190,6 +190,8 @@ namespace GFGGame
 
         private static void EnterGame()
         {
+            LoadingView.Instance.GetUI();
+
             LoadingView.Instance.SetProgress(100, () =>
             {
                 ViewManager.Hide<LoadingView>();
@@ -245,6 +247,7 @@ namespace GFGGame
                     ViewManager.Show<FieldFightEndView>();
                 }
             }
+            EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
 
         }
 

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Controller/GuideController.cs

@@ -57,7 +57,7 @@ namespace GFGGame
             if (cfg.special <= 0) return false;
             if (cfg.key == ConstGuideId.SUIT_LIST_VIEW)
             {
-                return FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(SuitListView).Name, false);
+                return FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(ClothingListView).Name, false);
             }
             return false;
 

+ 4 - 4
GameClient/Assets/Game/HotUpdate/Data/CardDataManager.cs

@@ -122,7 +122,7 @@ namespace GFGGame
         public static bool isFullLv(int cardId, int lv, bool showTips = true)
         {
             CardData cardData = _cardDicByType[0][cardId];
-            if (lv >= CardRarityCfgArray.Instance.GetCfg(cardData.itemCfg.rarity).maxCardLvl && cardData.exp >= CardLvlCfgArray.Instance.GetCfg(lv, cardData.itemCfg.rarity).needExp)
+            if (lv >= CardRarityCfgArray.Instance.GetCfg(cardData.itemCfg.rarity).maxCardLvl && cardData.exp >= CardLvlCfgArray.Instance.GetCfgBycardLvlAndcardRarity(lv, cardData.itemCfg.rarity).needExp)
             {
                 if (showTips == true)
                 {
@@ -138,7 +138,7 @@ namespace GFGGame
         public static bool isFullStar(int cardId, int star, bool showTips = true)
         {
             CardData cardData = _cardDicByType[0][cardId];
-            if (CardStarCfgArray.Instance.GetCfg(cardData.itemCfg.subType, cardData.itemCfg.rarity, star + 1) == null)
+            if (CardStarCfgArray.Instance.GetCfgBycardTypeAndcardRarityAndstarLvl(cardData.itemCfg.subType, cardData.itemCfg.rarity, star + 1) == null)
             {
                 if (showTips == true)
                 {
@@ -157,7 +157,7 @@ namespace GFGGame
             showLv = curLv;
             showExp = curExp + hasExp;
             int maxLv = CardRarityCfgArray.Instance.GetCfg(rarity).maxCardLvl;
-            CardLvlCfg tCurCfg = CardLvlCfgArray.Instance.GetCfg(showLv, rarity);
+            CardLvlCfg tCurCfg = CardLvlCfgArray.Instance.GetCfgBycardLvlAndcardRarity(showLv, rarity);
             while (showExp >= tCurCfg.needExp && showLv <= maxLv)
             {
 
@@ -170,7 +170,7 @@ namespace GFGGame
                     break;
                 }
                 showLv++;
-                tCurCfg = CardLvlCfgArray.Instance.GetCfg(showLv, rarity);
+                tCurCfg = CardLvlCfgArray.Instance.GetCfgBycardLvlAndcardRarity(showLv, rarity);
                 // if (showExp < tCurCfg.needExp)
                 // {
                 //     showLv = showLv - 1;

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Data/DailyTaskDataManager.cs

@@ -145,7 +145,7 @@ namespace GFGGame
                     name = EctypeCfgArray.Instance.GetCfgs(taskCfg.paramsArr[0])[0].typeName;
                     if (taskCfg.paramsArr.Length > 1)
                     {
-                        name = EctypeCfgArray.Instance.GetCfg(taskCfg.paramsArr[0], taskCfg.paramsArr[1]).subName;
+                        name = EctypeCfgArray.Instance.GetCfgBytypeAndsubType(taskCfg.paramsArr[0], taskCfg.paramsArr[1]).subName;
                     }
                     return string.Format(activeRewardCfg.desc, taskCfg.count, name);
 

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Data/FunctionOpenDataManager.cs

@@ -150,7 +150,7 @@ namespace GFGGame
         private bool CheckIsSpecialFunOpen(FunctionOpenCfg cfg, bool showTips = true)
         {
             if (cfg.special <= 0) return true;
-            if (cfg.id == typeof(SuitListView).Name)//服装升级获取第一套【天衣】套装后开启
+            if (cfg.id == typeof(ClothingListView).Name)//服装升级获取第一套【天衣】套装后开启
             {
 
                 if (StorageDataManager.Instance.GetStorageValue(ConstStorageId.FUNCTION_OPEN + cfg.index) == 1) return true;

+ 8 - 0
GameClient/Assets/Game/HotUpdate/Data/Handler/RoleDataHandler.cs

@@ -5,6 +5,7 @@ namespace GFGGame
 {
     public class RoleDataHandler
     {
+        private static int seconds = 0;
         public static void StartUpdate()
         {
             StopUpdate();
@@ -35,6 +36,13 @@ namespace GFGGame
             {
                 CommonSProxy.ResetDailyData().Coroutine();
             }
+
+            if (seconds >= TimeUtil.SECOND_PER_MUNITE * 3)
+            {
+                ViewManager.CheckDispsoe();
+                seconds = 0;
+            }
+            seconds++;
         }
 
     }

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Data/ItemDataManager.cs

@@ -44,7 +44,7 @@ namespace GFGGame
                     DecomposeDataManager.Instance.Add(itemID);
                 }
 
-                FunctionOpenCfg functionOpenCfg = FunctionOpenCfgArray.Instance.GetCfg(typeof(SuitListView).Name);
+                FunctionOpenCfg functionOpenCfg = FunctionOpenCfgArray.Instance.GetCfg(typeof(ClothingListView).Name);
 
                 if (dataInited
                     && itemCfg.rarity == ConstDressRarity.Rarity_TIANYI

+ 9 - 1
GameClient/Assets/Game/HotUpdate/Data/MailDataManager.cs

@@ -34,7 +34,14 @@ namespace GFGGame
         public int UnreadCount////未读邮件数量
         {
             get { return _unreadCount; }
-            set { _unreadCount = value; }
+            set
+            {
+                if (_unreadCount != value)
+                {
+                    _unreadCount = value;
+                    EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
+                }
+            }
         }
 
         private int _startIndex = 0;
@@ -89,6 +96,7 @@ namespace GFGGame
             _mailInfoDic[mailId].state = state;
             if (content != "") _mailInfoDic[mailId].content = content;
             if (rewards != null) _mailInfoDic[mailId].rewards = rewards;
+            UnreadCount = UnreadCount - 1;
         }
 
 

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Data/ScoreSystemData.cs

@@ -161,7 +161,7 @@ namespace GFGGame
             {
                 PassivitySkillCfg skillCfg = skillCfgs[i];
                 int skillLv = SkillDataManager.Instance.GetSkillLv(InstanceZonesDataManager.currentCardId, skillCfg.skillId);
-                PassivitySkillLvlCfg skillLvCfg = PassivitySkillLvlCfgArray.Instance.GetCfg(skillLv, skillCfg.skillId);
+                PassivitySkillLvlCfg skillLvCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLv, skillCfg.skillId);
 
                 if (partId == skillCfg.subTypes || skillCfg.subTypes == 0)
                 {

+ 17 - 11
GameClient/Assets/Game/HotUpdate/DressUp/DressUpUtil.cs

@@ -291,7 +291,7 @@ namespace GFGGame
             return gameObj;
         }
 
-        private static void TryClearSpriteObj(GameObject parentObj, string spritObjName)
+        public static void TryClearSpriteObj(GameObject parentObj, string spritObjName)
         {
             if (parentObj == null)
             {
@@ -303,22 +303,28 @@ namespace GFGGame
                 GameObject gameObj_t = transform_t.gameObject;
                 if (gameObj_t != null)
                 {
-                    GameObject.DestroyImmediate(gameObj_t);
                     //SpriteRenderer spr = null;
                     //spr = gameObj_t.GetComponent<SpriteRenderer>();
                     //if(spr != null)
                     //{
                     //    spr.sprite = null;
                     //}
-                    //var assetDisposer = gameObj_t.GetComponent<AssetReleaser>();
-                    //if(assetDisposer != null)
-                    //{
-                    //    if (!string.IsNullOrEmpty(assetDisposer.resPath))
-                    //    {
-                    //        GFGAsset.Release(assetDisposer.resPath);
-                    //        assetDisposer.resPath = null;
-                    //    }
-                    //}
+                    // var assetDisposer = gameObj_t.GetComponent<AssetReleaser>();
+                    // if (assetDisposer != null)
+                    // {
+                    //     if (!string.IsNullOrEmpty(assetDisposer.resPath))
+                    //     {
+                    //         GFGAsset.Release(assetDisposer.resPath);
+                    //         assetDisposer.resPath = null;
+                    //     }
+                    // }
+                    // SpriteRenderer spr = gameObj_t.GetComponent<SpriteRenderer>();
+                    // if (spr != null)
+                    // {
+                    //     GameObject.Destroy(spr);
+                    // }
+                    GameObject.DestroyImmediate(gameObj_t);
+
                 }
             }
         }

+ 18 - 5
GameClient/Assets/Game/HotUpdate/DressUp/SceneController.cs

@@ -370,8 +370,12 @@ namespace GFGGame
         {
             if (_gameObject != null)
             {
-                GameObject.Destroy(_gameObject);
-                _gameObject = null;
+                SpriteRenderer spr = _gameObject.GetComponent<SpriteRenderer>();
+                if (spr != null)
+                {
+                    DressUpUtil.TryClearSpriteObj(_gameObject, spr.name);
+                    _gameObject = null;
+                }
             }
             _gameObject = DressUpUtil.CreateAnimationObj(res);
             _gameObject.transform.localScale = new Vector3(scale, scale, scale);
@@ -383,17 +387,26 @@ namespace GFGGame
             }
             else
             {
+                GameObject.Destroy(_wrapper.wrapTarget);
                 _wrapper.wrapTarget = _gameObject;//替换资源
             }
             wrapper = _wrapper;
             gameObject = _gameObject;
         }
-        public static void DestroyObjectFromView(GameObject _gameObject)
+        public static void DestroyObjectFromView(GameObject _gameObject, GoWrapper goWrapper)
         {
             if (_gameObject != null)
             {
-                GameObject.Destroy(_gameObject);
-                _gameObject = null;
+                SpriteRenderer spr = _gameObject.GetComponent<SpriteRenderer>();
+                if (spr != null)
+                {
+                    DressUpUtil.TryClearSpriteObj(_gameObject, spr.name);
+                    _gameObject = null;
+                }
+            }
+            if (goWrapper != null)
+            {
+                goWrapper.Dispose();
             }
         }
     }

+ 4 - 4
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Card/UI_ListCardItem.cs

@@ -7,7 +7,7 @@ namespace UI.Card
     public partial class UI_ListCardItem
     {
         public GComponent target;
-        public UI_ComCardMask m_loaCard;
+        public UI_ComCardMask m_comCard;
         public GLoader m_loaBorder;
         public GLoader m_loaRarity;
         public GTextField m_txtLv;
@@ -61,7 +61,7 @@ namespace UI.Card
 
         private void Init(GComponent comp)
         {
-            m_loaCard = (UI_ComCardMask)UI_ComCardMask.Create(comp.GetChild("loaCard"));
+            m_comCard = (UI_ComCardMask)UI_ComCardMask.Create(comp.GetChild("comCard"));
             m_loaBorder = (GLoader)comp.GetChild("loaBorder");
             m_loaRarity = (GLoader)comp.GetChild("loaRarity");
             m_txtLv = (GTextField)comp.GetChild("txtLv");
@@ -71,8 +71,8 @@ namespace UI.Card
         }
         public void Dispose(bool disposeTarget = false)
         {
-            m_loaCard.Dispose();
-            m_loaCard = null;
+            m_comCard.Dispose();
+            m_comCard = null;
             m_loaBorder = null;
             m_loaRarity = null;
             m_txtLv = null;

+ 7 - 7
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_SuitFosterFinishUI.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingFosterFinishUI.cs

@@ -4,7 +4,7 @@ using FairyGUI;
 
 namespace UI.ClothingFoster
 {
-    public partial class UI_SuitFosterFinishUI
+    public partial class UI_ClothingFosterFinishUI
     {
         public GComponent target;
         public GLoader m_loaBg;
@@ -25,12 +25,12 @@ namespace UI.ClothingFoster
         public Transition m_t1;
         public const string URL = "ui://uicwtr5bpy5gs";
         public const string PACKAGE_NAME = "ClothingFoster";
-        public const string RES_NAME = "SuitFosterFinishUI";
-        private static UI_SuitFosterFinishUI _proxy;
+        public const string RES_NAME = "ClothingFosterFinishUI";
+        private static UI_ClothingFosterFinishUI _proxy;
 
-        public static UI_SuitFosterFinishUI Create(GObject gObject = null)
+        public static UI_ClothingFosterFinishUI Create(GObject gObject = null)
         {
-            var ui = new UI_SuitFosterFinishUI();
+            var ui = new UI_ClothingFosterFinishUI();
             if(gObject == null)
             	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
             else
@@ -39,11 +39,11 @@ namespace UI.ClothingFoster
             return ui;
         }
 
-        public static UI_SuitFosterFinishUI Proxy(GObject gObject = null)
+        public static UI_ClothingFosterFinishUI Proxy(GObject gObject = null)
         {
             if(_proxy == null)
             {
-                _proxy = new UI_SuitFosterFinishUI();
+                _proxy = new UI_ClothingFosterFinishUI();
             }
             var ui = _proxy;
             if(gObject == null)

+ 1 - 1
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_SuitFosterFinishUI.cs.meta → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingFosterFinishUI.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 5076ce15ac300aa4ab5e729c851e87a1
+guid: 899e5f14405063a49b2aa3a532779f6f
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 7 - 7
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_SuitFosterUI.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingFosterUI.cs

@@ -4,7 +4,7 @@ using FairyGUI;
 
 namespace UI.ClothingFoster
 {
-    public partial class UI_SuitFosterUI
+    public partial class UI_ClothingFosterUI
     {
         public GComponent target;
         public GTextField m_txtDiscribe;
@@ -14,12 +14,12 @@ namespace UI.ClothingFoster
         public GComponent m_ComConsume;
         public const string URL = "ui://uicwtr5bpy5gp";
         public const string PACKAGE_NAME = "ClothingFoster";
-        public const string RES_NAME = "SuitFosterUI";
-        private static UI_SuitFosterUI _proxy;
+        public const string RES_NAME = "ClothingFosterUI";
+        private static UI_ClothingFosterUI _proxy;
 
-        public static UI_SuitFosterUI Create(GObject gObject = null)
+        public static UI_ClothingFosterUI Create(GObject gObject = null)
         {
-            var ui = new UI_SuitFosterUI();
+            var ui = new UI_ClothingFosterUI();
             if(gObject == null)
             	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
             else
@@ -28,11 +28,11 @@ namespace UI.ClothingFoster
             return ui;
         }
 
-        public static UI_SuitFosterUI Proxy(GObject gObject = null)
+        public static UI_ClothingFosterUI Proxy(GObject gObject = null)
         {
             if(_proxy == null)
             {
-                _proxy = new UI_SuitFosterUI();
+                _proxy = new UI_ClothingFosterUI();
             }
             var ui = _proxy;
             if(gObject == null)

+ 1 - 1
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_SuitFosterUI.cs.meta → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingFosterUI.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 85c14adf80433f846abd217aa7060fe7
+guid: 793bfdf448468304e9b499b33b2c5cd6
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 7 - 7
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_SuitListUI.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingListUI.cs

@@ -4,7 +4,7 @@ using FairyGUI;
 
 namespace UI.ClothingFoster
 {
-    public partial class UI_SuitListUI
+    public partial class UI_ClothingListUI
     {
         public GComponent target;
         public GLoader m_loaBg;
@@ -16,12 +16,12 @@ namespace UI.ClothingFoster
         public GList m_listSuit;
         public const string URL = "ui://uicwtr5bpy5g0";
         public const string PACKAGE_NAME = "ClothingFoster";
-        public const string RES_NAME = "SuitListUI";
-        private static UI_SuitListUI _proxy;
+        public const string RES_NAME = "ClothingListUI";
+        private static UI_ClothingListUI _proxy;
 
-        public static UI_SuitListUI Create(GObject gObject = null)
+        public static UI_ClothingListUI Create(GObject gObject = null)
         {
-            var ui = new UI_SuitListUI();
+            var ui = new UI_ClothingListUI();
             if(gObject == null)
             	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
             else
@@ -30,11 +30,11 @@ namespace UI.ClothingFoster
             return ui;
         }
 
-        public static UI_SuitListUI Proxy(GObject gObject = null)
+        public static UI_ClothingListUI Proxy(GObject gObject = null)
         {
             if(_proxy == null)
             {
-                _proxy = new UI_SuitListUI();
+                _proxy = new UI_ClothingListUI();
             }
             var ui = _proxy;
             if(gObject == null)

+ 1 - 1
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_SuitListUI.cs.meta → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingListUI.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 01f9bddd4e6b8b743873b12d58e3d128
+guid: bc565d8aae734714ea1e4b20d9686669
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 7 - 7
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_SuitRenewFinishUI.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingRenewFinishUI.cs

@@ -4,19 +4,19 @@ using FairyGUI;
 
 namespace UI.ClothingFoster
 {
-    public partial class UI_SuitRenewFinishUI
+    public partial class UI_ClothingRenewFinishUI
     {
         public GComponent target;
         public GLoader m_loaBg;
         public GTextField m_txtProperty;
         public const string URL = "ui://uicwtr5bnk8d16";
         public const string PACKAGE_NAME = "ClothingFoster";
-        public const string RES_NAME = "SuitRenewFinishUI";
-        private static UI_SuitRenewFinishUI _proxy;
+        public const string RES_NAME = "ClothingRenewFinishUI";
+        private static UI_ClothingRenewFinishUI _proxy;
 
-        public static UI_SuitRenewFinishUI Create(GObject gObject = null)
+        public static UI_ClothingRenewFinishUI Create(GObject gObject = null)
         {
-            var ui = new UI_SuitRenewFinishUI();
+            var ui = new UI_ClothingRenewFinishUI();
             if(gObject == null)
             	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
             else
@@ -25,11 +25,11 @@ namespace UI.ClothingFoster
             return ui;
         }
 
-        public static UI_SuitRenewFinishUI Proxy(GObject gObject = null)
+        public static UI_ClothingRenewFinishUI Proxy(GObject gObject = null)
         {
             if(_proxy == null)
             {
-                _proxy = new UI_SuitRenewFinishUI();
+                _proxy = new UI_ClothingRenewFinishUI();
             }
             var ui = _proxy;
             if(gObject == null)

+ 1 - 1
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_SuitPropertyShowUI.cs.meta → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingRenewFinishUI.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: af2295ae47dccee4bab446c7f19dc857
+guid: 5dc3ce154c56e974db6e9f7d3cc527a2
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 7 - 7
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_SuitRewardUI.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingRewardUI.cs

@@ -4,18 +4,18 @@ using FairyGUI;
 
 namespace UI.ClothingFoster
 {
-    public partial class UI_SuitRewardUI
+    public partial class UI_ClothingRewardUI
     {
         public GComponent target;
         public GList m_listReward;
         public const string URL = "ui://uicwtr5bpy5gr";
         public const string PACKAGE_NAME = "ClothingFoster";
-        public const string RES_NAME = "SuitRewardUI";
-        private static UI_SuitRewardUI _proxy;
+        public const string RES_NAME = "ClothingRewardUI";
+        private static UI_ClothingRewardUI _proxy;
 
-        public static UI_SuitRewardUI Create(GObject gObject = null)
+        public static UI_ClothingRewardUI Create(GObject gObject = null)
         {
-            var ui = new UI_SuitRewardUI();
+            var ui = new UI_ClothingRewardUI();
             if(gObject == null)
             	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
             else
@@ -24,11 +24,11 @@ namespace UI.ClothingFoster
             return ui;
         }
 
-        public static UI_SuitRewardUI Proxy(GObject gObject = null)
+        public static UI_ClothingRewardUI Proxy(GObject gObject = null)
         {
             if(_proxy == null)
             {
-                _proxy = new UI_SuitRewardUI();
+                _proxy = new UI_ClothingRewardUI();
             }
             var ui = _proxy;
             if(gObject == null)

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingRewardUI.cs.meta

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

+ 7 - 7
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_SuitUI.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingUI.cs

@@ -4,7 +4,7 @@ using FairyGUI;
 
 namespace UI.ClothingFoster
 {
-    public partial class UI_SuitUI
+    public partial class UI_ClothingUI
     {
         public GComponent target;
         public Controller m_c1;
@@ -36,12 +36,12 @@ namespace UI.ClothingFoster
         public UI_comFosterAni m_comFosterAni;
         public const string URL = "ui://uicwtr5bpy5gf";
         public const string PACKAGE_NAME = "ClothingFoster";
-        public const string RES_NAME = "SuitUI";
-        private static UI_SuitUI _proxy;
+        public const string RES_NAME = "ClothingUI";
+        private static UI_ClothingUI _proxy;
 
-        public static UI_SuitUI Create(GObject gObject = null)
+        public static UI_ClothingUI Create(GObject gObject = null)
         {
-            var ui = new UI_SuitUI();
+            var ui = new UI_ClothingUI();
             if(gObject == null)
             	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
             else
@@ -50,11 +50,11 @@ namespace UI.ClothingFoster
             return ui;
         }
 
-        public static UI_SuitUI Proxy(GObject gObject = null)
+        public static UI_ClothingUI Proxy(GObject gObject = null)
         {
             if(_proxy == null)
             {
-                _proxy = new UI_SuitUI();
+                _proxy = new UI_ClothingUI();
             }
             var ui = _proxy;
             if(gObject == null)

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingUI.cs.meta

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

+ 7 - 7
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_SuitPropertyShowUI.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingropertyShowUI.cs

@@ -4,18 +4,18 @@ using FairyGUI;
 
 namespace UI.ClothingFoster
 {
-    public partial class UI_SuitPropertyShowUI
+    public partial class UI_ClothingropertyShowUI
     {
         public GComponent target;
         public GList m_listPropertyShow;
         public const string URL = "ui://uicwtr5bpy5gq";
         public const string PACKAGE_NAME = "ClothingFoster";
-        public const string RES_NAME = "SuitPropertyShowUI";
-        private static UI_SuitPropertyShowUI _proxy;
+        public const string RES_NAME = "ClothingropertyShowUI";
+        private static UI_ClothingropertyShowUI _proxy;
 
-        public static UI_SuitPropertyShowUI Create(GObject gObject = null)
+        public static UI_ClothingropertyShowUI Create(GObject gObject = null)
         {
-            var ui = new UI_SuitPropertyShowUI();
+            var ui = new UI_ClothingropertyShowUI();
             if(gObject == null)
             	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
             else
@@ -24,11 +24,11 @@ namespace UI.ClothingFoster
             return ui;
         }
 
-        public static UI_SuitPropertyShowUI Proxy(GObject gObject = null)
+        public static UI_ClothingropertyShowUI Proxy(GObject gObject = null)
         {
             if(_proxy == null)
             {
-                _proxy = new UI_SuitPropertyShowUI();
+                _proxy = new UI_ClothingropertyShowUI();
             }
             var ui = _proxy;
             if(gObject == null)

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_ClothingropertyShowUI.cs.meta

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

+ 0 - 11
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_SuitRenewFinishUI.cs.meta

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

+ 0 - 11
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_SuitRewardUI.cs.meta

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

+ 0 - 11
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ClothingFoster/UI_SuitUI.cs.meta

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

+ 1 - 2
GameClient/Assets/Game/HotUpdate/ServerProxy/MailSProxy.cs

@@ -99,7 +99,7 @@ namespace GFGGame
                     MailDataManager.Instance.UpdateMailContent(response.MailId, response.Status);
                     List<ItemData> itemDatas = MailDataManager.Instance.GetMailInfoById(response.MailId).rewards;
                     BonusController.TryShowBonusList(itemDatas);
-
+                    EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
                     EventAgent.DispatchEvent(ConstMessage.MAIL_REWARD);
                     return true;
                 }
@@ -124,7 +124,6 @@ namespace GFGGame
                     }
                     BonusController.TryShowBonusList(itemDatas);
                     EventAgent.DispatchEvent(ConstMessage.MAIL_ALLREWARD);
-
                     return true;
                 }
             }

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Views/BaseWindow.cs

@@ -75,6 +75,7 @@ namespace GFGGame
 
         public override void Dispose()
         {
+            // if (packageName == ResPathUtil.GetUIPackagePath("CommonGame") || packageName == ResPathUtil.GetUIPackagePath("Common") || packageName == ResPathUtil.GetUIPackagePath("Main")) return;//这几个包不释放
             base.Dispose();
             if (_window != null)
             {

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/Card/CardDetailView.cs

@@ -79,7 +79,7 @@ namespace GFGGame
             UI_ListCardItem listItem = UI_ListCardItem.Proxy(obj);
             CardData data = (_ui.m_listCard.data as List<CardData>)[index];//CardDataManager.GetCardList(_ui.m_listRole.selectedIndex)[index];
             listItem.target.data = data;
-            listItem.m_loaCard.m_loaCard.url = ResPathUtil.GetCardSmallPath(data.resources[data.resIndex]);
+            listItem.m_comCard.m_loaCard.url = ResPathUtil.GetCardSmallPath(data.resources[data.resIndex]);
             RarityIconController.UpdateRarityIcon(listItem.m_loaRarity, data.itemCfg.id, false);// ResPathUtil.GetCommonGameResPath("kp_sxing_x_" + data.itemCfg.rarity);
             listItem.m_loaMainScore.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + (data.itemCfg.mainScore));
 

+ 5 - 0
GameClient/Assets/Game/HotUpdate/Views/Card/CardFilterView.cs

@@ -21,6 +21,11 @@ namespace GFGGame
         private SortedList[] _dataList = { ConstCardSubType.CardSubTypeList(), ConstDressUpScoreType.scoreTypeList(), ConstCardState.CardStateList() };
         public override void Dispose()
         {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
             base.Dispose();
         }
 

+ 21 - 18
GameClient/Assets/Game/HotUpdate/Views/Card/CardFosterView.cs

@@ -44,13 +44,17 @@ namespace GFGGame
         private Vector2 comCardImgResInitSize;
         public override void Dispose()
         {
-            _valueBarController.Dispose();
-            _valueBarController = null;
-            UI_ComConsume.ClearProxy();
-            if (_cardObj != null)
+            if (_valueBarController != null)
             {
-                GameObject.Destroy(_cardObj);
-                _cardObj = null;
+                _valueBarController.Dispose();
+                _valueBarController = null;
+            }
+            SceneController.DestroyObjectFromView(_cardObj, _wrapper);
+
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
             }
             base.Dispose();
         }
@@ -169,9 +173,7 @@ namespace GFGGame
             string resPath = ResPathUtil.GetCardAnimationPath(_cardData.resources[_cardData.resIndex]);
             if (Versions.Contains(resPath))
             {
-                _cardObj = DressUpUtil.CreateAnimationObj(resPath);
                 SceneController.AddObjectToView(_cardObj, _wrapper, _ui.m_comCard.m_comCardHolder.m_holder, resPath, out _cardObj, out _wrapper);
-
             }
 
             if (_cardObj != null)
@@ -211,7 +213,7 @@ namespace GFGGame
 
             _showLv = isPreview == true ? lv : _cardData.lv;
             _showExp = isPreview == true ? exp : _cardData.exp;
-            CardLvlCfg cardLvCfg = CardLvlCfgArray.Instance.GetCfg(_showLv, _cardData.itemCfg.rarity);
+            CardLvlCfg cardLvCfg = CardLvlCfgArray.Instance.GetCfgBycardLvlAndcardRarity(_showLv, _cardData.itemCfg.rarity);
 
             _comFosterBottom.m_barLv.max = cardLvCfg.needExp;
             _comFosterBottom.m_barLv.value = _showExp;
@@ -240,7 +242,7 @@ namespace GFGGame
         private void RenderListLvConsumeItem(int index, GObject obj)
         {
             UI_ComConsume listItem = UI_ComConsume.Proxy(obj);
-            CardLvlCfg cardLvCfg = CardLvlCfgArray.Instance.GetCfg(_cardData.lv, _cardData.itemCfg.rarity);
+            CardLvlCfg cardLvCfg = CardLvlCfgArray.Instance.GetCfgBycardLvlAndcardRarity(_cardData.lv, _cardData.itemCfg.rarity);
             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(upgradeCardItemsArr[index]);
             listItem.m_loaItem.url = ResPathUtil.GetIconPath(itemCfg);
             listItem.m_txtNum.text = ItemDataManager.GetItemNum(itemCfg.id).ToString();
@@ -340,7 +342,7 @@ namespace GFGGame
                 return false;
             }
             int maxLv = CardRarityCfgArray.Instance.GetCfg(_cardData.itemCfg.rarity).maxCardLvl;
-            int needExp = CardLvlCfgArray.Instance.GetCfg(_showLv, _cardData.itemCfg.rarity).needExp;
+            int needExp = CardLvlCfgArray.Instance.GetCfgBycardLvlAndcardRarity(_showLv, _cardData.itemCfg.rarity).needExp;
             if (_showLv == maxLv && _comFosterBottom.m_barLv.value >= needExp)
             {
                 Timers.inst.Remove(OnTimedEvent);
@@ -473,7 +475,7 @@ namespace GFGGame
 
         private void UpdateUpStarView()
         {
-            CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfg(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
+            CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfgBycardTypeAndcardRarityAndstarLvl(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
             _comFosterBottom.m_comStar.m_c1.selectedIndex = _cardData.star;
             _comFosterBottom.m_comStar.m_c2.selectedIndex = 5;
             if (CardDataManager.isFullStar(_cardData.id, _cardData.star, false))
@@ -577,7 +579,7 @@ namespace GFGGame
         private void OnClickBtnUpStar()
         {
 
-            CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfg(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
+            CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfgBycardTypeAndcardRarityAndstarLvl(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
 
             if (_cardData.lv < cardStarCfg.needLv)
             {
@@ -610,7 +612,7 @@ namespace GFGGame
         }
         private async void UpStar()
         {
-            CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfg(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
+            CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfgBycardTypeAndcardRarityAndstarLvl(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
 
             bool result = await CardSProxy.UpgradeCardStar(_cardData.id);
             if (result)
@@ -644,7 +646,7 @@ namespace GFGGame
             item.m_txtName.text = skillCfg.name;
             item.m_txtLv.text = string.Format("{0}级", skillLv);
 
-            item.m_btnUp.visible = PassivitySkillLvlCfgArray.Instance.GetCfg(skillLv + 1, skillCfg.skillId) != null;//?  skillLv == skillScoreCfgs.Count ? false : true;
+            item.m_btnUp.visible = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLv + 1, skillCfg.skillId) != null;//?  skillLv == skillScoreCfgs.Count ? false : true;
 
             if (item.m_btnUp.data == null)
             {
@@ -771,12 +773,12 @@ namespace GFGGame
         {
             if (!CardDataManager.isFullLv(_cardData.id, _cardData.lv, false))
             {
-                CardLvlCfg cardLvCfg = CardLvlCfgArray.Instance.GetCfg(_showLv, _cardData.itemCfg.rarity);
+                CardLvlCfg cardLvCfg = CardLvlCfgArray.Instance.GetCfgBycardLvlAndcardRarity(_showLv, _cardData.itemCfg.rarity);
                 _comFosterBottom.m_listLvConsume.numItems = upgradeCardItemsArr.Length;
             }
             if (!CardDataManager.isFullStar(_cardData.id, _cardData.star, false))
             {
-                CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfg(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
+                CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfgBycardTypeAndcardRarityAndstarLvl(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
                 _comFosterBottom.m_listStarConsume.numItems = cardStarCfg.materiarsArr.Length;
 
             }
@@ -799,7 +801,8 @@ namespace GFGGame
             Timers.inst.Remove(OnTimedEvent);
             UI_ComCostCurrency.ProxyEnd();
             UI_ComCostCurrencyWithHas.ProxyEnd();
-            _comFosterBottom.m_listLvConsume.numItems = 0;
+            // _comFosterBottom.m_listLvConsume.numItems = 0;
+            _valueBarController.OnHide();
         }
         protected override void RemoveEventListener()
         {

+ 5 - 0
GameClient/Assets/Game/HotUpdate/Views/Card/CardMoodView.cs

@@ -12,6 +12,11 @@ namespace GFGGame
         // Use this for initialization
         public override void Dispose()
         {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
             base.Dispose();
 
 

+ 5 - 0
GameClient/Assets/Game/HotUpdate/Views/Card/CardShowView.cs

@@ -11,6 +11,11 @@ namespace GFGGame
 
         public override void Dispose()
         {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
             base.Dispose();
 
 

+ 9 - 4
GameClient/Assets/Game/HotUpdate/Views/Card/CardSkillView.cs

@@ -16,6 +16,11 @@ namespace GFGGame
         private PassivitySkillLvlCfg skillLvCfg;
         public override void Dispose()
         {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
             base.Dispose();
         }
 
@@ -49,7 +54,7 @@ namespace GFGGame
 
             // SkillData skillData = SkillDataManager.Instance.GetSkillLv(_cardId, _skillId);
             skillCfg = PassivitySkillCfgArray.Instance.GetCfg(_skillId);// SkillDataManager.Instance.GetPassivitySkillCfg(_cardId, _skillId);
-            skillLvCfg = PassivitySkillLvlCfgArray.Instance.GetCfg(_skillLv, _skillId);
+            skillLvCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(_skillLv, _skillId);
 
             _ui.m_txtName.text = skillCfg.name;
             _ui.m_comSkill.m_loaSkill.url = ResPathUtil.GetCardSmallPath(skillCfg.res);
@@ -61,7 +66,7 @@ namespace GFGGame
             _ui.m_c1.selectedIndex = 0;
             _skillLv = SkillDataManager.Instance.GetSkillLv(_cardId, _skillId);
             skillCfg = PassivitySkillCfgArray.Instance.GetCfg(_skillId);// SkillDataManager.Instance.GetPassivitySkillCfg(_cardId, _skillId);
-            skillLvCfg = PassivitySkillLvlCfgArray.Instance.GetCfg(_skillLv, _skillId);
+            skillLvCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(_skillLv, _skillId);
             ET.Log.Debug("_skillLv000:" + _skillLv);
             ET.Log.Debug("skillCfg000:" + skillCfg.skillId);
             ET.Log.Debug("_skillLv000:" + skillLvCfg.skilllvl);
@@ -69,7 +74,7 @@ namespace GFGGame
             int skillLv = SkillDataManager.Instance.GetSkillLv(_cardId, _skillId);
             UpdateComLv(_ui.m_comCurLV, skillLv, skillLv + "级");
 
-            if (PassivitySkillLvlCfgArray.Instance.GetCfg(skillLv + 1, _skillId) == null) //已满级
+            if (PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLv + 1, _skillId) == null) //已满级
             {
                 _ui.m_c1.selectedIndex = 1;
                 return;
@@ -86,7 +91,7 @@ namespace GFGGame
         }
         private void UpdateComLv(UI_ComSkillDiscribe com, int lv, string title)
         {
-            PassivitySkillLvlCfg skillLvCfg = PassivitySkillLvlCfgArray.Instance.GetCfg(lv, _skillId);
+            PassivitySkillLvlCfg skillLvCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(lv, _skillId);
             com.m_txtLv.text = title;
             com.m_txtDiscribe.text = string.Format(skillCfg.describe, (float)skillLvCfg.probability / 10000f * 100f, (float)skillLvCfg.count / 100f);
         }

+ 6 - 1
GameClient/Assets/Game/HotUpdate/Views/Card/CardStoryView.cs

@@ -11,6 +11,11 @@ namespace GFGGame
         private CardData _viewData;
         public override void Dispose()
         {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
             base.Dispose();
         }
 
@@ -67,7 +72,7 @@ namespace GFGGame
                 PromptController.Instance.ShowFloatTextPrompt(string.Format("词牌星级达到{0}级解锁", _viewData.itemCfg.cardMoodStar));
                 return;
             }
-            ViewManager.Show(ViewName.CARD_Mood_VIEW, _viewData, new object[] { typeof(CardStoryView).Name, _viewData });
+            ViewManager.Show(ViewName.CARD_Mood_VIEW, _viewData, new object[] { typeof(CardStoryView).FullName, _viewData });
         }
         protected override void OnHide()
         {

+ 5 - 0
GameClient/Assets/Game/HotUpdate/Views/Card/CardUpView.cs

@@ -17,6 +17,11 @@ namespace GFGGame
         private int _curNum;
         public override void Dispose()
         {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
             base.Dispose();
 
 

+ 5 - 0
GameClient/Assets/Game/HotUpdate/Views/Card/CardView.cs

@@ -10,6 +10,11 @@ namespace GFGGame
 
         public override void Dispose()
         {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
             base.Dispose();
         }
 

+ 5 - 1
GameClient/Assets/Game/HotUpdate/Views/ClothingDecompose/ClothingDecomposeRuleView.cs

@@ -9,7 +9,11 @@ namespace GFGGame
 
         public override void Dispose()
         {
-
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
             base.Dispose();
         }
 

+ 11 - 2
GameClient/Assets/Game/HotUpdate/Views/ClothingDecompose/ClothingDecomposeView.cs

@@ -19,8 +19,17 @@ namespace GFGGame
         private int _curRarity = 0;
         public override void Dispose()
         {
-            _valueBarController.Dispose();
-            _valueBarController = null;
+            if (_valueBarController != null)
+            {
+                _valueBarController.Dispose();
+                _valueBarController = null;
+            }
+
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
             base.Dispose();
         }
 

+ 9 - 5
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/SuitFosterFinishView.cs → GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingFosterFinishView.cs

@@ -6,16 +6,20 @@ using UI.CommonGame;
 
 namespace GFGGame
 {
-    public class SuitFosterFinishView : BaseWindow
+    public class ClothingFosterFinishView : BaseWindow
     {
-        private UI_SuitFosterFinishUI _ui;
+        private UI_ClothingFosterFinishUI _ui;
         private int _suitId;
         private int _index;
         private SortedList _lastPropertyList;
         private SortedList _curPropertyList;
         public override void Dispose()
         {
-
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
             base.Dispose();
         }
 
@@ -23,8 +27,8 @@ namespace GFGGame
         protected override void OnInit()
         {
             base.OnInit();
-            packageName = UI_SuitFosterFinishUI.PACKAGE_NAME;
-            _ui = UI_SuitFosterFinishUI.Create();
+            packageName = UI_ClothingFosterFinishUI.PACKAGE_NAME;
+            _ui = UI_ClothingFosterFinishUI.Create();
             this.viewCom = _ui.target;
             this.viewCom.Center();
             this.modal = true;

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingFosterFinishView.cs.meta

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

+ 10 - 5
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/SuitFosterView.cs → GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingFosterView.cs

@@ -5,9 +5,9 @@ using UI.ClothingFoster;
 using UI.CommonGame;
 namespace GFGGame
 {
-    public class SuitFosterView : BaseWindow
+    public class ClothingFosterView : BaseWindow
     {
-        private UI_SuitFosterUI _ui;
+        private UI_ClothingFosterUI _ui;
 
         private int _suitId;
         private int _index;
@@ -17,6 +17,11 @@ namespace GFGGame
         public override void Dispose()
         {
 
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
             base.Dispose();
         }
 
@@ -24,8 +29,8 @@ namespace GFGGame
         protected override void OnInit()
         {
             base.OnInit();
-            packageName = UI_SuitFosterUI.PACKAGE_NAME;
-            _ui = UI_SuitFosterUI.Create();
+            packageName = UI_ClothingFosterUI.PACKAGE_NAME;
+            _ui = UI_ClothingFosterUI.Create();
             this.viewCom = _ui.target;
             this.viewCom.Center();
             this.modal = true;
@@ -91,7 +96,7 @@ namespace GFGGame
         private void OnListMaterialsItem(EventContext context)
         {
             int itemId = (int)(context.data as GComponent).data;
-            ViewManager.Show(ViewName.APPROACH_OF_ITEM_VIEW, new object[] { itemId, new object[] { typeof(SuitView).Name, ( this.viewData as object[])[4]  }
+            ViewManager.Show(ViewName.APPROACH_OF_ITEM_VIEW, new object[] { itemId, new object[] { typeof(ClothingView).FullName, ( this.viewData as object[])[4]  }
     });
         }
 

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingFosterView.cs.meta

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

+ 16 - 11
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/SuitListView.cs → GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingListView.cs

@@ -4,9 +4,9 @@ using FairyGUI;
 using UI.ClothingFoster;
 namespace GFGGame
 {
-    public class SuitListView : BaseWindow
+    public class ClothingListView : BaseWindow
     {
-        private UI_SuitListUI _ui;
+        private UI_ClothingListUI _ui;
         private ValueBarController _valueBarController;
         private int _menuType = ConstSuitGuideTypeId.TYPE_1;
         private int[] _menuTypeDataArray;
@@ -14,7 +14,17 @@ namespace GFGGame
 
         public override void Dispose()
         {
+            if (_valueBarController != null)
+            {
+                _valueBarController.Dispose();
+                _valueBarController = null;
+            }
 
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
             base.Dispose();
         }
 
@@ -22,16 +32,11 @@ namespace GFGGame
         protected override void OnInit()
         {
             base.OnInit();
-            packageName = UI_SuitListUI.PACKAGE_NAME;
-            _ui = UI_SuitListUI.Create();
+            packageName = UI_ClothingListUI.PACKAGE_NAME;
+            _ui = UI_ClothingListUI.Create();
             this.viewCom = _ui.target;
-            // this.viewCom.Center();
             isfullScreen = true;
 
-            // this.modal = true;
-            // viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
-
-
             _valueBarController = new ValueBarController(_ui.m_valueBar);
 
             _ui.m_listSuit.itemRenderer = ListSuitItemRenderer;
@@ -77,7 +82,7 @@ namespace GFGGame
         private void OnClickBtnBack()
         {
             // this.Hide();
-            ViewManager.GoBackFrom(typeof(SuitListView).FullName);
+            ViewManager.GoBackFrom(typeof(ClothingListView).FullName);
         }
         private void OnClickListTypeItem()
         {
@@ -160,7 +165,7 @@ namespace GFGGame
             {
                 if (haveSuit)
                 {
-                    ViewManager.Show<SuitView>(new object[] { suitId, _suitIds }, new object[] { typeof(SuitListView).Name, this.viewData });
+                    ViewManager.Show<ClothingView>(new object[] { suitId, _suitIds }, new object[] { typeof(ClothingListView).FullName, this.viewData });
                 }
                 else
                 {

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingListView.cs.meta

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

+ 9 - 5
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/SuitPropertyShowView.cs → GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingPropertyShowView.cs

@@ -8,15 +8,19 @@ using UnityEngine;
 
 namespace GFGGame
 {
-    public class SuitPropertyShowView : BaseWindow
+    public class ClothingPropertyShowView : BaseWindow
     {
-        private UI_SuitPropertyShowUI _ui;
+        private UI_ClothingropertyShowUI _ui;
         // private Dictionary<string, int> _data = new Dictionary<string, int>();
         // List<int> _dataList = new List<int>(); StudentDictionary.Values.ToList();
         List<KeyValuePair<int, string>> _dataList;// = new List<KeyValuePair<string, int>>();
         public override void Dispose()
         {
-
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
             base.Dispose();
         }
 
@@ -24,8 +28,8 @@ namespace GFGGame
         protected override void OnInit()
         {
             base.OnInit();
-            packageName = UI_SuitPropertyShowUI.PACKAGE_NAME;
-            _ui = UI_SuitPropertyShowUI.Create();
+            packageName = UI_ClothingropertyShowUI.PACKAGE_NAME;
+            _ui = UI_ClothingropertyShowUI.Create();
             this.viewCom = _ui.target;
             this.viewCom.Center();
             this.modal = true;

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingPropertyShowView.cs.meta

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

+ 9 - 5
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/SuitRenewFinishView.cs → GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingRenewFinishView.cs

@@ -2,13 +2,17 @@ using FairyGUI;
 using UI.ClothingFoster;
 namespace GFGGame
 {
-    public class SuitRenewFinishView : BaseWindow
+    public class ClothingRenewFinishView : BaseWindow
     {
-        private UI_SuitRenewFinishUI _ui;
+        private UI_ClothingRenewFinishUI _ui;
         private int _suitId;
         public override void Dispose()
         {
-
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
             base.Dispose();
         }
 
@@ -16,8 +20,8 @@ namespace GFGGame
         protected override void OnInit()
         {
             base.OnInit();
-            packageName = UI_SuitRenewFinishUI.PACKAGE_NAME;
-            _ui = UI_SuitRenewFinishUI.Create();
+            packageName = UI_ClothingRenewFinishUI.PACKAGE_NAME;
+            _ui = UI_ClothingRenewFinishUI.Create();
             this.viewCom = _ui.target;
             this.viewCom.Center();
             this.modal = true;

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingRenewFinishView.cs.meta

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

+ 9 - 5
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/SuitRewardView.cs → GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingRewardView.cs

@@ -5,15 +5,19 @@ using FairyGUI;
 using UI.ClothingFoster;
 namespace GFGGame
 {
-    public class SuitRewardView : BaseWindow
+    public class ClothingRewardView : BaseWindow
     {
-        private UI_SuitRewardUI _ui;
+        private UI_ClothingRewardUI _ui;
         private int _suitId;
         private List<SuitFosterCfg> _rewardsList;
 
         public override void Dispose()
         {
-
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
             base.Dispose();
         }
 
@@ -21,8 +25,8 @@ namespace GFGGame
         protected override void OnInit()
         {
             base.OnInit();
-            packageName = UI_SuitRewardUI.PACKAGE_NAME;
-            _ui = UI_SuitRewardUI.Create();
+            packageName = UI_ClothingRewardUI.PACKAGE_NAME;
+            _ui = UI_ClothingRewardUI.Create();
             this.viewCom = _ui.target;
             this.viewCom.Center();
             this.modal = true;

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingRewardView.cs.meta

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

+ 27 - 12
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/SuitView.cs → GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingView.cs

@@ -8,9 +8,9 @@ using ET;
 
 namespace GFGGame
 {
-    public class SuitView : BaseWindow
+    public class ClothingView : BaseWindow
     {
-        private UI_SuitUI _ui;
+        private UI_ClothingUI _ui;
 
         private GameObject _scenePrefab;
         private GameObject _sceneObject;
@@ -30,16 +30,31 @@ namespace GFGGame
 
         public override void Dispose()
         {
-
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
             base.Dispose();
+            if (_sceneObject != null)
+            {
+                GameObject.Destroy(_sceneObject);
+                _sceneObject = null;
+                _wrapper.Dispose();
+                _wrapper = null;
+            }
+            SceneController.DestroyObjectFromView(_gameobject1, _wrapper1);
+            _propertyList.Clear();
+            _addPropertyList.Clear();
+
         }
 
 
         protected override void OnInit()
         {
             base.OnInit();
-            packageName = UI_SuitUI.PACKAGE_NAME;
-            _ui = UI_SuitUI.Create();
+            packageName = UI_ClothingUI.PACKAGE_NAME;
+            _ui = UI_ClothingUI.Create();
             this.viewCom = _ui.target;
             // this.viewCom.Center();
             isfullScreen = true;
@@ -113,7 +128,7 @@ namespace GFGGame
         }
         private void OnClickBtnBack()
         {
-            ViewManager.GoBackFrom(typeof(SuitView).FullName);
+            ViewManager.GoBackFrom(typeof(ClothingView).FullName);
         }
         private void OnTabChange()
         {
@@ -233,7 +248,7 @@ namespace GFGGame
             }
             else if (state == 1)
             {
-                ViewManager.Show<SuitFosterView>(new object[] { _suitId, index, _propertyList, _addPropertyList, this.viewData });
+                ViewManager.Show<ClothingFosterView>(new object[] { _suitId, index, _propertyList, _addPropertyList, this.viewData });
             }
             else
             {
@@ -245,7 +260,7 @@ namespace GFGGame
             SuitFosterDataManager.Instance.GetFosterRewardState(_suitId, out int state, out int index);
             if (state == 1 || state == 2)
             {
-                ViewManager.Show<SuitRewardView>(_suitId);
+                ViewManager.Show<ClothingRewardView>(_suitId);
             }
             else
             {
@@ -254,7 +269,7 @@ namespace GFGGame
         }
         private void OnClickBtnPropertyShow()
         {
-            ViewManager.Show<SuitPropertyShowView>(new object[] { _suitId, _index });
+            ViewManager.Show<ClothingPropertyShowView>(new object[] { _suitId, _index });
         }
 
         private void OnListenerFoster()
@@ -273,7 +288,7 @@ namespace GFGGame
 
             _ui.m_comFosterAni.m_t0.Play(() =>
             {
-                ViewManager.Show<SuitFosterFinishView>(new object[] { _suitId, _index, _propertyList });
+                ViewManager.Show<ClothingFosterFinishView>(new object[] { _suitId, _index, _propertyList });
                 UpdateFoster();
                 _ui.m_comFosterAni.target.visible = false;
             });
@@ -362,7 +377,7 @@ namespace GFGGame
         {
             int itemId = (int)(context.data as GComponent).data;
             // GoodsItemTipsController.ShowItemTips(itemId);
-            ViewManager.Show(ViewName.APPROACH_OF_ITEM_VIEW, new object[] { itemId, new object[] { typeof(SuitView).FullName, this.viewData } });
+            ViewManager.Show(ViewName.APPROACH_OF_ITEM_VIEW, new object[] { itemId, new object[] { typeof(ClothingView).FullName, this.viewData } });
         }
 
         private async void OnClickBtnRenew()
@@ -388,7 +403,7 @@ namespace GFGGame
         }
         private void OnListenerRenew()
         {
-            ViewManager.Show<SuitRenewFinishView>(_suitId);
+            ViewManager.Show<ClothingRenewFinishView>(_suitId);
             UpdateRenew();
             Debug.Log("换新奖励:" + ItemDataManager.GetItemNum(10370));
 

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingView.cs.meta

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

+ 0 - 11
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/SuitFosterFinishView.cs.meta

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

+ 0 - 11
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/SuitFosterView.cs.meta

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

+ 0 - 11
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/SuitListView.cs.meta

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

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff