Răsfoiți Sursa

套装合成

guodong 3 ani în urmă
părinte
comite
6215b75956

+ 10 - 71
GameClient/Assets/Editor/Excel/ExcelChecker.cs

@@ -21,9 +21,6 @@ namespace GFGEditor
             CheckClothingShopCfg();
             CheckClothingShopCfg();
             CheckSuitCfg();
             CheckSuitCfg();
             CheckSuitGuideMenuCfg();
             CheckSuitGuideMenuCfg();
-            CheckSuitSyntheticMenuCfg();
-            CheckSuitSyntheticCfg();
-            CheckClothingSyntheticCfg();
             CheckItemCfg();
             CheckItemCfg();
             CheckCardStarCfg();
             CheckCardStarCfg();
             CheckCardStoryCfg();
             CheckCardStoryCfg();
@@ -163,39 +160,6 @@ namespace GFGEditor
             }
             }
         }
         }
 
 
-        private static void CheckSuitSyntheticMenuCfg()
-        {
-            //SuitSyntheticMenuCfgArray cfgArray = SuitSyntheticMenuCfgArray.Instance;
-            //SuitSyntheticMenuCfg[] dataArray = cfgArray.dataArray;
-            //foreach(SuitSyntheticMenuCfg cfg in dataArray)
-            //{
-            //    if (cfg.suitIds.Length > 0)
-            //    {
-            //        string[] values = cfg.suitIds.Split(';');
-            //        foreach (string value in values)
-            //        {
-            //            int valueInt = int.Parse(value);
-            //            CheckSuitExist(valueInt, "合成SuitSyntheticMenuCfg.suitIds");
-            //            CheckSuitSyntheticCfgExist(valueInt, "合成SuitSyntheticMenuCfg.suitIds");
-            //            CheckSuitClothingSyntheticCfgExist(valueInt, "合成SuitSyntheticMenuCfg.suitIds");
-            //        }
-            //    }
-            //}
-        }
-
-        private static void CheckSuitSyntheticCfg()
-        {
-            //SuitSyntheticCfgArray cfgArray = SuitSyntheticCfgArray.Instance;
-            //SuitSyntheticCfg[] dataArray = cfgArray.dataArray;
-            //foreach(SuitSyntheticCfg cfg in dataArray)
-            //{
-            //    CheckStoryLevelCfgExist(cfg.storyLevelId, "合成SuitSyntheticCfg.storyLevelId");
-            //    CheckSuitExist(cfg.preSuitId, "合成SuitSyntheticCfg.preSuitId");
-            //    CheckItemsExist(cfg.boxBonusArr, "合成SuitSyntheticCfg.boxBonus");
-            //}
-        }
-
-
         private static void CheckClothingSyntheticCfg()
         private static void CheckClothingSyntheticCfg()
         {
         {
             //ClothingSyntheticCfgArray cfgArray = ClothingSyntheticCfgArray.Instance;
             //ClothingSyntheticCfgArray cfgArray = ClothingSyntheticCfgArray.Instance;
@@ -215,8 +179,9 @@ namespace GFGEditor
             {
             {
                 if (cfg.resLayer1 == 0 && cfg.resLayer2 == 0 && ItemUtilCS.IsDressUpItem(cfg.id))
                 if (cfg.resLayer1 == 0 && cfg.resLayer2 == 0 && ItemUtilCS.IsDressUpItem(cfg.id))
                 {
                 {
-                    throw (new Exception("物品" + cfg.id + "没有配置显示层"));
+                    ET.Log.Error (new Exception("物品" + cfg.id + "没有配置显示层"));
                 }
                 }
+                CheckClothingSyntheticCfgExist(cfg);
             }
             }
         }
         }
         //=====================================================================================================
         //=====================================================================================================
@@ -322,47 +287,21 @@ namespace GFGEditor
             }
             }
         }
         }
 
 
-        private static void CheckSuitSyntheticCfgExist(int id, string keyName)
+        private static void CheckClothingSyntheticCfgExist(ItemCfg itemCfg)
         {
         {
-            //if(id > 0)
-            //{
-            //    SuitSyntheticCfgArray cfgArray = SuitSyntheticCfgArray.Instance;
-            //    SuitSyntheticCfg cfg = cfgArray.GetCfg(id);
-            //    if (cfg == null)
-            //    {
-            //        Debug.LogFormat("{0}配置的套装{1}没有对应的合成解锁配置", new object[] { keyName, id });
-            //    }
-            //}
-        }
-
-        private static void CheckSuitClothingSyntheticCfgExist(int id, string keyName)
-        {
-            if (id > 0)
+            if(itemCfg.suitId > 0)
             {
             {
-                SuitCfgArray cfgArray = SuitCfgArray.Instance;
-                SuitCfg cfg = cfgArray.GetCfg(id);
-                int[] itemInfos = cfg.partsArr;
-                foreach (int itemId in itemInfos)
+                var suitCfg = SuitCfgArray.Instance.GetCfg(itemCfg.suitId);
+                if(suitCfg != null && suitCfg.syntheticType > 0)
                 {
                 {
-                    keyName = string.Format("{0}配置的套装{1}必含部件", keyName, id);
-                    CheckClothingSyntheticCfgExist(itemId, keyName);
+                    if(itemCfg.syntheticCostID <= 0 || itemCfg.syntheticCostNum <= 0 || itemCfg.syntheticMateriarsArr.Length <= 0)
+                    {
+                        Debug.LogErrorFormat("服装{0}没有对应的合成消耗配置", new object[] { itemCfg.id });
+                    }
                 }
                 }
             }
             }
         }
         }
 
 
-        private static void CheckClothingSyntheticCfgExist(int id, string keyName)
-        {
-            //if(id > 0)
-            //{
-            //    ClothingSyntheticCfgArray cfgArray = ClothingSyntheticCfgArray.Instance;
-            //    ClothingSyntheticCfg cfg = cfgArray.GetCfg(id);
-            //    if (cfg == null)
-            //    {
-            //        Debug.LogErrorFormat("{0}配置的服装{1}没有对应的合成消耗配置", new object[] { keyName, id });
-            //    }
-            //}
-        }
-
         private static void CheckStoryLevelCfgExist(int id, string keyName)
         private static void CheckStoryLevelCfgExist(int id, string keyName)
         {
         {
             if(id > 0)
             if(id > 0)

+ 14 - 1
GameClient/Assets/Editor/Excel/Scanner/ItemApproachScanner.cs

@@ -21,27 +21,33 @@ namespace GFGEditor
             ItemCfg[] dataArray = ItemCfgArray.Instance.dataArray;
             ItemCfg[] dataArray = ItemCfgArray.Instance.dataArray;
             GetApproachCall[] actions = new GetApproachCall[] { GetClothingShopApproach, GetZhaiXingApproach, GetStoryLevelApproach, GetClothingSyntheticApproach, GetSuitGuideApproach, GetSuitSyntheticApproach };
             GetApproachCall[] actions = new GetApproachCall[] { GetClothingShopApproach, GetZhaiXingApproach, GetStoryLevelApproach, GetClothingSyntheticApproach, GetSuitGuideApproach, GetSuitSyntheticApproach };
             Dictionary<SuitCfg, List<int>> suitDic = new Dictionary<SuitCfg, List<int>>();
             Dictionary<SuitCfg, List<int>> suitDic = new Dictionary<SuitCfg, List<int>>();
+            int suitPartTotalCount = 0;
             foreach (ItemCfg cfg in dataArray)
             foreach (ItemCfg cfg in dataArray)
             {
             {
                 HandleSuitTable(cfg, suitDic);
                 HandleSuitTable(cfg, suitDic);
                 HandleItemApproch(cfg, actions);
                 HandleItemApproch(cfg, actions);
             }
             }
+            var globalCfg = GlobalCfgArray.globalCfg;
             SQLiteHelper.Instance.OpenConnection();
             SQLiteHelper.Instance.OpenConnection();
             try
             try
             {
             {
+                //物品
                 foreach (ItemCfg cfg in dataArray)
                 foreach (ItemCfg cfg in dataArray)
                 {
                 {
                     var names = new string[] { nameof(cfg.subType), nameof(cfg.itemType), nameof(cfg.approach) };
                     var names = new string[] { nameof(cfg.subType), nameof(cfg.itemType), nameof(cfg.approach) };
                     var values = new string[] { "" + cfg.subType, "" + cfg.itemType, "" + cfg.approach };
                     var values = new string[] { "" + cfg.subType, "" + cfg.itemType, "" + cfg.approach };
                     SQLiteHelper.Instance.UpdateValues(nameof(ItemCfgArray), names, values, nameof(cfg.id), cfg.id.ToString());
                     SQLiteHelper.Instance.UpdateValues(nameof(ItemCfgArray), names, values, nameof(cfg.id), cfg.id.ToString());
                 }
                 }
+                //套装
                 foreach (var a in suitDic)
                 foreach (var a in suitDic)
                 {
                 {
-
+                    suitPartTotalCount += a.Value.Count;
                     var names = new string[] { nameof(a.Key.partsArr).Replace("Arr", "") };
                     var names = new string[] { nameof(a.Key.partsArr).Replace("Arr", "") };
                     var values = new string[] { string.Join(";", a.Value) };
                     var values = new string[] { string.Join(";", a.Value) };
                     SQLiteHelper.Instance.UpdateValues(nameof(SuitCfgArray), names, values, nameof(a.Key.id), a.Key.id.ToString());
                     SQLiteHelper.Instance.UpdateValues(nameof(SuitCfgArray), names, values, nameof(a.Key.id), a.Key.id.ToString());
                 }
                 }
+                globalCfg.suitPartTotalCount = suitPartTotalCount;
+                UpdateGlobalCfg(globalCfg);
             }
             }
             catch (Exception e)
             catch (Exception e)
             {
             {
@@ -53,6 +59,13 @@ namespace GFGEditor
             }
             }
         }
         }
 
 
+        private static void UpdateGlobalCfg(GlobalCfg globalCfg)
+        {
+            var names = new string[] { nameof(globalCfg.suitPartTotalCount) };
+            var values = new string[] { globalCfg.suitPartTotalCount.ToString() };
+            SQLiteHelper.Instance.UpdateValues(nameof(GlobalCfgArray), names, values, nameof(globalCfg.id), globalCfg.id.ToString());
+        }
+
         private static void HandleSuitTable(ItemCfg itemCfg, Dictionary<SuitCfg, List<int>> suitDic)
         private static void HandleSuitTable(ItemCfg itemCfg, Dictionary<SuitCfg, List<int>> suitDic)
         {
         {
             if (itemCfg.suitId <= 0)
             if (itemCfg.suitId <= 0)

+ 1 - 1
GameClient/Assets/Game/CSShare

@@ -1 +1 @@
-Subproject commit 900532f5c5348dcfc4d97bf0e532b08415720693
+Subproject commit 3711e5ec85f493b3346258ea092b06f49bf507b9

+ 13 - 37
GameClient/Assets/Game/HotUpdate/ExcelConfig/Manager/SuitCfgManager.cs

@@ -4,21 +4,15 @@ namespace GFGGame
     public class SuitCfgManager : SingletonBase<SuitCfgManager>
     public class SuitCfgManager : SingletonBase<SuitCfgManager>
     {
     {
 
 
-        private Dictionary<int, int> _suitIDDicByItemID;
-        private Dictionary<int, int> _totalCountDic = new Dictionary<int, int>();
-
         /// <summary>
         /// <summary>
         /// 获取所有套装中部件的总个数
         /// 获取所有套装中部件的总个数
         /// </summary>
         /// </summary>
         public int totalItemCount
         public int totalItemCount
         {
         {
-            get;
-            private set;
-        }
-
-        public SuitCfgManager()
-        {
-            InitDic();
+            get
+            {
+                return GlobalCfgArray.globalCfg.suitPartTotalCount;
+            }
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -28,9 +22,10 @@ namespace GFGGame
         /// <returns></returns>
         /// <returns></returns>
         public int GetItemSuitId(int itemId)
         public int GetItemSuitId(int itemId)
         {
         {
-            if (_suitIDDicByItemID.ContainsKey(itemId))
+            var itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+            if(itemCfg != null)
             {
             {
-                return _suitIDDicByItemID[itemId];
+                return itemCfg.suitId;
             }
             }
             return 0;
             return 0;
         }
         }
@@ -42,7 +37,12 @@ namespace GFGGame
         /// <returns></returns>
         /// <returns></returns>
         public int GetTotalCountOfOneSuit(int suitId)
         public int GetTotalCountOfOneSuit(int suitId)
         {
         {
-            return _totalCountDic[suitId];
+            var suitCfg = SuitCfgArray.Instance.GetCfg(suitId);
+            if(suitCfg != null)
+            {
+                return suitCfg.partsArr.Length;
+            }
+            return 0;
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -69,29 +69,5 @@ namespace GFGGame
             return suitCfg.partsArr;
             return suitCfg.partsArr;
         }
         }
 
 
-        private void InitDic()
-        {
-            _suitIDDicByItemID = new Dictionary<int, int>();
-            SuitCfg[] dataArray = SuitCfgArray.Instance.dataArray;
-            foreach (SuitCfg suitCfg in dataArray)
-            {
-                parseSuitItems(suitCfg);
-            }
-        }
-
-        private void parseSuitItems(SuitCfg suitCfg)
-        {
-            int[] items = suitCfg.partsArr;
-            int len = items.Length;
-            for (int i = 0; i < len; i++)
-            {
-                int itemID = items[i];
-                _suitIDDicByItemID.Add(itemID, suitCfg.id);
-            }
-            int itemCount = items.Length;
-            _totalCountDic[suitCfg.id] = itemCount;
-            totalItemCount += itemCount;
-        }
-
     }
     }
 }
 }

BIN
GameClient/Assets/ResIn/Config/excelConfig.sqlite.bytes