hexiaojie пре 8 месеци
родитељ
комит
33dc10b926
58 измењених фајлова са 1808 додато и 1320 уклоњено
  1. 2 1
      GameClient/Assets/Game/HotUpdate/Data/ActivityAfuGiftDataManager.cs
  2. 21 20
      GameClient/Assets/Game/HotUpdate/Data/ActivityDataManager.cs
  3. 13 8
      GameClient/Assets/Game/HotUpdate/Data/ActivityDay7DataManager.cs
  4. 5 4
      GameClient/Assets/Game/HotUpdate/Data/ActivityGlobalDataManager.cs
  5. 11 10
      GameClient/Assets/Game/HotUpdate/Data/ActivityTeaDataManager.cs
  6. 5 3
      GameClient/Assets/Game/HotUpdate/Data/ActivityWanShiLiDataManager.cs
  7. 24 23
      GameClient/Assets/Game/HotUpdate/Data/ArenaDataManager.cs
  8. 7 6
      GameClient/Assets/Game/HotUpdate/Data/ArenaViewManager.cs
  9. 19 0
      GameClient/Assets/Game/HotUpdate/Data/BagEquipmentDataManager.cs
  10. 3 0
      GameClient/Assets/Game/HotUpdate/Data/BagEquipmentDataManager.cs.meta
  11. 19 18
      GameClient/Assets/Game/HotUpdate/Data/BattlePassTaskDataManager.cs
  12. 7 6
      GameClient/Assets/Game/HotUpdate/Data/Cache/DropOutDataCache.cs
  13. 15 14
      GameClient/Assets/Game/HotUpdate/Data/Cache/StoryBonusDataCache.cs
  14. 43 42
      GameClient/Assets/Game/HotUpdate/Data/CardDataManager.cs
  15. 26 25
      GameClient/Assets/Game/HotUpdate/Data/CollectPartDataManager.cs
  16. 7 6
      GameClient/Assets/Game/HotUpdate/Data/CustomSuitDataManager.cs
  17. 6 6
      GameClient/Assets/Game/HotUpdate/Data/DailyTaskDataManager.cs
  18. 31 30
      GameClient/Assets/Game/HotUpdate/Data/DecomposeDataManager.cs
  19. 101 100
      GameClient/Assets/Game/HotUpdate/Data/DressUpMenuItemDataManager.cs
  20. 11 10
      GameClient/Assets/Game/HotUpdate/Data/DressUpMenuSuitDataManager.cs
  21. 5 4
      GameClient/Assets/Game/HotUpdate/Data/FieldDataManager.cs
  22. 9 8
      GameClient/Assets/Game/HotUpdate/Data/FieldWorkDataManager.cs
  23. 10 9
      GameClient/Assets/Game/HotUpdate/Data/FightDataManager.cs
  24. 1 1
      GameClient/Assets/Game/HotUpdate/Data/FriendDataManager.cs
  25. 66 65
      GameClient/Assets/Game/HotUpdate/Data/FunctionOpenDataManager.cs
  26. 3 2
      GameClient/Assets/Game/HotUpdate/Data/GuideDataManager.cs
  27. 53 52
      GameClient/Assets/Game/HotUpdate/Data/InstanceZonesDataManager.cs
  28. 59 54
      GameClient/Assets/Game/HotUpdate/Data/ItemDataManager.cs
  29. 138 64
      GameClient/Assets/Game/HotUpdate/Data/LeagueDataManager.cs
  30. 47 33
      GameClient/Assets/Game/HotUpdate/Data/LimitedTimeGiftBoxDataManager.cs
  31. 83 53
      GameClient/Assets/Game/HotUpdate/Data/LuckyBoxDataManager.cs
  32. 59 33
      GameClient/Assets/Game/HotUpdate/Data/MainStoryDataManager.cs
  33. 152 77
      GameClient/Assets/Game/HotUpdate/Data/MatchingCompetitionDataManager.cs
  34. 72 24
      GameClient/Assets/Game/HotUpdate/Data/MatchingTwoDataManager.cs
  35. 11 10
      GameClient/Assets/Game/HotUpdate/Data/NoticeDataManager.cs
  36. 8 7
      GameClient/Assets/Game/HotUpdate/Data/PhotographSceneManager.cs
  37. 59 67
      GameClient/Assets/Game/HotUpdate/Data/PoemGalleryDataManager.cs
  38. 265 139
      GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs
  39. 3 3
      GameClient/Assets/Game/HotUpdate/Data/RoleDataManager.cs
  40. 20 18
      GameClient/Assets/Game/HotUpdate/Data/RoleInfoManager.cs
  41. 50 49
      GameClient/Assets/Game/HotUpdate/Data/ScoreSystemData.cs
  42. 1 1
      GameClient/Assets/Game/HotUpdate/Data/ShareDataManager.cs
  43. 53 52
      GameClient/Assets/Game/HotUpdate/Data/ShopDataManager.cs
  44. 36 26
      GameClient/Assets/Game/HotUpdate/Data/ShopViewManager.cs
  45. 14 13
      GameClient/Assets/Game/HotUpdate/Data/SkillDataManager.cs
  46. 35 34
      GameClient/Assets/Game/HotUpdate/Data/StudioDataManager.cs
  47. 15 14
      GameClient/Assets/Game/HotUpdate/Data/SuitFosterDatamanager.cs
  48. 66 53
      GameClient/Assets/Game/HotUpdate/Data/TaskDataManager.cs
  49. 8 7
      GameClient/Assets/Game/HotUpdate/Data/TimeTracingDataManager.cs
  50. 4 4
      GameClient/Assets/Game/HotUpdate/Data/TravelDataManager.cs
  51. 7 0
      GameClient/Assets/Game/HotUpdate/Data/VO/BagEquipmentData.cs
  52. 3 0
      GameClient/Assets/Game/HotUpdate/Data/VO/BagEquipmentData.cs.meta
  53. 3 2
      GameClient/Assets/Game/HotUpdate/Data/VO/CardData.cs
  54. 2 0
      GameClient/Assets/Game/HotUpdate/Data/VO/DropOutData.cs
  55. 1 1
      GameClient/Assets/Game/HotUpdate/Data/VO/FightData.cs
  56. 1 0
      GameClient/Assets/Game/HotUpdate/Data/VO/GiftBoxData.cs
  57. 9 9
      GameClient/Assets/Game/HotUpdate/Data/VO/ItemData.cs
  58. 1 0
      GameClient/Assets/Game/HotUpdate/Data/VO/LeagueData.cs

+ 2 - 1
GameClient/Assets/Game/HotUpdate/Data/ActivityAfuGiftDataManager.cs

@@ -2,6 +2,7 @@
 using System;
 using System;
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using UnityEngine;
 using UnityEngine;
 
 
 namespace GFGGame
 namespace GFGGame
@@ -46,7 +47,7 @@ namespace GFGGame
         public void InitActivityInfo()
         public void InitActivityInfo()
         {
         {
             Info = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.AFZL);
             Info = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.AFZL);
-            RewardCfgs = ActivityLoginCfgArray.Instance.GetCfgsByid(Info.ActivityId);
+            RewardCfgs = CommonDataManager.Tables.TblActivityLoginCfg.GetGroup1ById(Info.ActivityId);
         }
         }
 
 
         public int GetNormalRewardStateByDay(int indexDay)
         public int GetNormalRewardStateByDay(int indexDay)

+ 21 - 20
GameClient/Assets/Game/HotUpdate/Data/ActivityDataManager.cs

@@ -1,5 +1,6 @@
 using ET;
 using ET;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 
 
 namespace GFGGame
 namespace GFGGame
 {
 {
@@ -130,30 +131,30 @@ namespace GFGGame
                 int stateB = 0;
                 int stateB = 0;
                 if (typeId == ConstLimitTimeActivityType.ActLimitLuckyBox) {
                 if (typeId == ConstLimitTimeActivityType.ActLimitLuckyBox) {
                     allPlayTimes = ActivityDataManager.Instance.allPlayTimes;// GameGlobal.myNumericComponent.GetAsInt(NumericType.TotalRechargeScore);
                     allPlayTimes = ActivityDataManager.Instance.allPlayTimes;// GameGlobal.myNumericComponent.GetAsInt(NumericType.TotalRechargeScore);
-                    stateA = ActivityDataManager.Instance.luckyBoxActBonusState.ContainsKey(a.num) ? 1 : -1;
-                    stateB = ActivityDataManager.Instance.luckyBoxActBonusState.ContainsKey(b.num) ? 1 : -1;
+                    stateA = ActivityDataManager.Instance.luckyBoxActBonusState.ContainsKey(a.Num) ? 1 : -1;
+                    stateB = ActivityDataManager.Instance.luckyBoxActBonusState.ContainsKey(b.Num) ? 1 : -1;
                 }
                 }
                 else if(typeId == ConstLimitTimeActivityType.ActLimitTsy) 
                 else if(typeId == ConstLimitTimeActivityType.ActLimitTsy) 
                 {
                 {
                     allPlayTimes = ActivityDataManager.Instance.allTsyPlayTimes;// GameGlobal.myNumericComponent.GetAsInt(NumericType.TotalRechargeScore);
                     allPlayTimes = ActivityDataManager.Instance.allTsyPlayTimes;// GameGlobal.myNumericComponent.GetAsInt(NumericType.TotalRechargeScore);
-                    stateA = ActivityDataManager.Instance.luckyActTsyBonusState.ContainsKey(a.num) ? 1 : -1;
-                    stateB = ActivityDataManager.Instance.luckyActTsyBonusState.ContainsKey(b.num) ? 1 : -1;
+                    stateA = ActivityDataManager.Instance.luckyActTsyBonusState.ContainsKey(a.Num) ? 1 : -1;
+                    stateB = ActivityDataManager.Instance.luckyActTsyBonusState.ContainsKey(b.Num) ? 1 : -1;
                 }
                 }
                 else if (typeId == ConstLimitTimeActivityType.ActLimitStlyc)
                 else if (typeId == ConstLimitTimeActivityType.ActLimitStlyc)
                 {
                 {
                     allPlayTimes = ActivityDataManager.Instance.allTsyPlayTimes;// GameGlobal.myNumericComponent.GetAsInt(NumericType.TotalRechargeScore);
                     allPlayTimes = ActivityDataManager.Instance.allTsyPlayTimes;// GameGlobal.myNumericComponent.GetAsInt(NumericType.TotalRechargeScore);
-                    stateA = ActivityDataManager.Instance.luckyActTsyBonusState.ContainsKey(a.num) ? 1 : -1;
-                    stateB = ActivityDataManager.Instance.luckyActTsyBonusState.ContainsKey(b.num) ? 1 : -1;
+                    stateA = ActivityDataManager.Instance.luckyActTsyBonusState.ContainsKey(a.Num) ? 1 : -1;
+                    stateB = ActivityDataManager.Instance.luckyActTsyBonusState.ContainsKey(b.Num) ? 1 : -1;
                 }
                 }
 
 
-                if (allPlayTimes >= a.num && allPlayTimes < b.num && stateA < 0) return -1;
-                if (allPlayTimes >= b.num && allPlayTimes < a.num && stateB < 0) return 1;
+                if (allPlayTimes >= a.Num && allPlayTimes < b.Num && stateA < 0) return -1;
+                if (allPlayTimes >= b.Num && allPlayTimes < a.Num && stateB < 0) return 1;
 
 
 
 
                 if (stateA >= 0 && stateB < 0) return 1;
                 if (stateA >= 0 && stateB < 0) return 1;
                 if (stateB >= 0 && stateA < 0) return -1;
                 if (stateB >= 0 && stateA < 0) return -1;
 
 
-                return a.num - b.num;
+                return a.Num - b.Num;
             });
             });
             return list;
             return list;
         }
         }
@@ -285,14 +286,14 @@ namespace GFGGame
         {
         {
             List<ActivityDressCfg> zcjbCfgList = new List<ActivityDressCfg>();
             List<ActivityDressCfg> zcjbCfgList = new List<ActivityDressCfg>();
             int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(17);
             int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(17);
-            zcjbCfgList = ActivityDressCfgArray.Instance.GetCfgsByactivityId(activityId);
+            zcjbCfgList = CommonDataManager.Tables.TblActivityDressCfg.GetGroup1ByActivityId(activityId);
             if (zcjbCfgList == null || zcjbCfgList.Count == 0)
             if (zcjbCfgList == null || zcjbCfgList.Count == 0)
             {
             {
                 return false;
                 return false;
             }
             }
             ItemData numItem;
             ItemData numItem;
             long num;
             long num;
-            if(BagDataManager.Instance.GetBagData().TryGetValue(zcjbCfgList[0].comsumeArr[0][0], out numItem))
+            if(BagDataManager.Instance.GetBagData().TryGetValue(zcjbCfgList[0].Comsume[0].ItemId, out numItem))
             {
             {
                 num = numItem.num;
                 num = numItem.num;
             }
             }
@@ -305,7 +306,7 @@ namespace GFGGame
             {
             {
                     if (i == ActivityDataManager.Instance.ActivityZCJBList.Count)
                     if (i == ActivityDataManager.Instance.ActivityZCJBList.Count)
                     {
                     {
-                        if (num >= zcjbCfgList[i].comsumeArr[0][1])
+                        if (num >= zcjbCfgList[i].Comsume[0].Count)
                         {
                         {
                             return true;
                             return true;
                         }
                         }
@@ -339,12 +340,12 @@ namespace GFGGame
         public bool CheckPearRebateTips(int id)
         public bool CheckPearRebateTips(int id)
         {
         {
             bool flog = true;
             bool flog = true;
-            ActivityOpenCfg activityCfg = ActivityOpenCfgArray.Instance.GetCfg(id);   
-            for(int i =0;i< activityCfg.paramsArr.Length;i++)
+            ActivityOpenCfg activityCfg = CommonDataManager.Tables.TblActivityOpenCfg.GetOrDefault(id);   
+            for(int i =0;i< activityCfg.Params1.Count;i++)
             {
             {
-                ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(activityCfg.paramsArr[i]);
-                int buyNum = ShopDataManager.Instance.GetGoodsBuyNumById(shopCfg.id);
-                if (shopCfg.maxBuyNum == 0 || buyNum < shopCfg.maxBuyNum)
+                ShopCfg shopCfg = CommonDataManager.Tables.TblShopCfg.GetOrDefault(activityCfg.Params1[i]);
+                int buyNum = ShopDataManager.Instance.GetGoodsBuyNumById(shopCfg.Id);
+                if (shopCfg.MaxBuyNum == 0 || buyNum < shopCfg.MaxBuyNum)
                 {
                 {
                     flog = false;
                     flog = false;
                     
                     
@@ -388,7 +389,7 @@ namespace GFGGame
         }
         }
         public long GetActivityTime(int id)
         public long GetActivityTime(int id)
         {
         {
-            ActivityOpenCfg _activityCfg = ActivityOpenCfgArray.Instance.GetCfg(id);
+            ActivityOpenCfg _activityCfg = CommonDataManager.Tables.TblActivityOpenCfg.GetOrDefault(id);
             int endTime = (_activityCfg.AfterCreatRoleTime * 24 * 60) + _activityCfg.OpenLastTime;
             int endTime = (_activityCfg.AfterCreatRoleTime * 24 * 60) + _activityCfg.OpenLastTime;
             endTime = endTime * 60;
             endTime = endTime * 60;
             long time = GameGlobal.zoneScene.GetComponent<RoleInfosComponent>().GetCurrentRole().CreateTime;
             long time = GameGlobal.zoneScene.GetComponent<RoleInfosComponent>().GetCurrentRole().CreateTime;
@@ -399,10 +400,10 @@ namespace GFGGame
         public bool isExtendTime(int day)
         public bool isExtendTime(int day)
         {
         {
             int id = ActivityDataManager.Instance.GetCurOpenActiveByType(17);
             int id = ActivityDataManager.Instance.GetCurOpenActiveByType(17);
-            ActivityOpenCfg activityCfg = ActivityOpenCfgArray.Instance.GetCfg(id);
+            ActivityOpenCfg activityCfg = CommonDataManager.Tables.TblActivityOpenCfg.GetOrDefault(id);
             if (activityCfg != null)
             if (activityCfg != null)
             {
             {
-                long endTime = TimeUtil.DateTimeToTimestamp(activityCfg.endTime);
+                long endTime = TimeUtil.DateTimeToTimestamp(activityCfg.EndTime);
                 long ExtendTime = (day * 24 * 60 * 60 * 1000);
                 long ExtendTime = (day * 24 * 60 * 60 * 1000);
                 long currentTime = TimeHelper.ServerNow();
                 long currentTime = TimeHelper.ServerNow();
                 if (currentTime > endTime)
                 if (currentTime > endTime)

+ 13 - 8
GameClient/Assets/Game/HotUpdate/Data/ActivityDay7DataManager.cs

@@ -15,7 +15,7 @@ namespace GFGGame
 
 
         public int GetActivityDay7MaxPassDay()
         public int GetActivityDay7MaxPassDay()
         {
         {
-            return Math.Min(Activity7DaysTaskCfgArray.Instance.dataArray.Length,
+            return Math.Min( CommonDataManager.Tables.TblActivity7DaysTaskCfg.DataList.Count,
                 ActivityDay7DataManager.Instance.GetActivityDay7Day());
                 ActivityDay7DataManager.Instance.GetActivityDay7Day());
         }
         }
 
 
@@ -34,18 +34,20 @@ namespace GFGGame
         //检测7日活动活跃奖励是否可领
         //检测7日活动活跃奖励是否可领
         public bool CheckActivityDay7RewardCanGet(int id)
         public bool CheckActivityDay7RewardCanGet(int id)
         {
         {
-            var activity7DaysCfg = Activity7DaysCfgArray.Instance.GetCfg(id);
+            var activity7DaysCfg = CommonDataManager.Tables.TblActivity7DaysCfg.GetOrDefault(id);
             var got = ActivityDay7DataManager.Instance.GetActivityDay7RewardState(id);
             var got = ActivityDay7DataManager.Instance.GetActivityDay7RewardState(id);
             if (got)
             if (got)
             {
             {
                 return false;
                 return false;
             }
             }
+
             //判断积分是否够
             //判断积分是否够
             var score = ActivityDay7DataManager.Instance.GetScore();
             var score = ActivityDay7DataManager.Instance.GetScore();
-            if (score < activity7DaysCfg.score)
+            if (score < activity7DaysCfg.Score)
             {
             {
                 return false;
                 return false;
             }
             }
+
             return true;
             return true;
         }
         }
 
 
@@ -58,19 +60,22 @@ namespace GFGGame
             {
             {
                 return false;
                 return false;
             }
             }
-            var activity7DaysTaskCfg = Activity7DaysTaskCfgArray.Instance.GetCfg(day);
-            if(activity7DaysTaskCfg == null)
+
+            var activity7DaysTaskCfg = CommonDataManager.Tables.TblActivity7DaysTaskCfg.GetOrDefault(day);
+            if (activity7DaysTaskCfg == null)
             {
             {
                 return false;
                 return false;
             }
             }
-            var taskIdArr = activity7DaysTaskCfg.taskIdArr;
-            foreach(int taskId in taskIdArr)
+
+            var taskIdArr = activity7DaysTaskCfg.TaskId;
+            foreach (int taskId in taskIdArr)
             {
             {
-                if(TaskDataManager.Instance.GetTaskStateById(taskId) == ConstBonusStatus.CAN_GET)
+                if (TaskDataManager.Instance.GetTaskStateById(taskId) == ConstBonusStatus.CAN_GET)
                 {
                 {
                     return true;
                     return true;
                 }
                 }
             }
             }
+
             return false;
             return false;
         }
         }
 
 

+ 5 - 4
GameClient/Assets/Game/HotUpdate/Data/ActivityGlobalDataManager.cs

@@ -1,5 +1,6 @@
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
+using cfg.GfgCfg;
 using ET;
 using ET;
 using FairyGUI;
 using FairyGUI;
 
 
@@ -108,14 +109,14 @@ namespace GFGGame
 
 
         public List<ActivityInfo> GetActivityInfoByTypeAndID(int activityType, int outActivityID)
         public List<ActivityInfo> GetActivityInfoByTypeAndID(int activityType, int outActivityID)
         {
         {
-            List<ActivityOpenCfg> list = ActivityOpenCfgArray.Instance.GetCfgsBytype(activityType);
+            List<ActivityOpenCfg> list = CommonDataManager.Tables.TblActivityOpenCfg.GetGroup1ByType(activityType);
             List<int> infoList = new List<int>();
             List<int> infoList = new List<int>();
             for(int i = 0; i < list.Count; i++)
             for(int i = 0; i < list.Count; i++)
             {
             {
-                if(list[i].params2Arr!=null && list[i].params2Arr.Length > 0 
-                    && list[i].params2Arr[0] == outActivityID)
+                if(list[i].Params2!=null && list[i].Params2.Count > 0 
+                    && list[i].Params2[0] == outActivityID)
                 {
                 {
-                    infoList.Add(list[i].id);
+                    infoList.Add(list[i].Id);
                 }
                 }
             }
             }
             return infoList.Select(GetActivityInfo).Where(activityInfo => activityInfo != null).ToList();
             return infoList.Select(GetActivityInfo).Where(activityInfo => activityInfo != null).ToList();

+ 11 - 10
GameClient/Assets/Game/HotUpdate/Data/ActivityTeaDataManager.cs

@@ -2,6 +2,7 @@
 using GFGGame;
 using GFGGame;
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using UnityEngine;
 using UnityEngine;
 
 
 namespace Assets.Game.HotUpdate.Data
 namespace Assets.Game.HotUpdate.Data
@@ -20,7 +21,7 @@ namespace Assets.Game.HotUpdate.Data
             {
             {
                 return false;
                 return false;
             }
             }
-            RoleLimitData limitData = RoleLimitDataManager.GetLimitData(ActivityVisitCfgArray.Instance.dataArray[0].limitId);
+            RoleLimitData limitData = RoleLimitDataManager.GetLimitData( CommonDataManager.Tables.TblActivityVisitCfg.DataList[0].LimitId);
             int time = limitData.TotalPlayMax - limitData.PlayTimes;
             int time = limitData.TotalPlayMax - limitData.PlayTimes;
 
 
             foreach (NpcVisitProto t in NpcInfoList)
             foreach (NpcVisitProto t in NpcInfoList)
@@ -71,13 +72,13 @@ namespace Assets.Game.HotUpdate.Data
                 return false;
                 return false;
             }
             }
             var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.ItemSynthetic);
             var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.ItemSynthetic);
-            ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
-            var suitCfg = SuitCfgArray.Instance.GetCfg(activityOpenCfg.paramsArr[0]);
-            for (int i = 0; i < suitCfg.partsArr.Length; i++)
+            ActivityOpenCfg activityOpenCfg = CommonDataManager.Tables.TblActivityOpenCfg.GetOrDefault(activityInfo.ActivityId);
+            var suitCfg = CommonDataManager.Tables.TblSuitCfg.GetOrDefault(activityOpenCfg.Params1[0]);
+            for (int i = 0; i < suitCfg.Parts.Count; i++)
             {
             {
-                ItemCfg itemSyntheticCfg = ItemCfgArray.Instance.GetCfg(suitCfg.partsArr[i]);
-                var materiarsArr = itemSyntheticCfg.syntheticMateriarsArr;
-                if (ItemDataManager.GetItemNum(materiarsArr[0][0]) >= materiarsArr[0][1] && ItemDataManager.GetItemNum(materiarsArr[1][0]) >= materiarsArr[1][1] && ItemDataManager.GetItemNum(suitCfg.partsArr[i]) <= 0)
+                ItemCfg itemSyntheticCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(suitCfg.Parts[i]);
+                var materiarsArr = itemSyntheticCfg.SyntheticMateriars;
+                if (ItemDataManager.GetItemNum(materiarsArr[0].ItemId) >= materiarsArr[0].Count && ItemDataManager.GetItemNum(materiarsArr[1].ItemId) >= materiarsArr[1].Count && ItemDataManager.GetItemNum(suitCfg.Parts[i]) <= 0)
                     return true;
                     return true;
             }
             }
             return false;
             return false;
@@ -88,11 +89,11 @@ namespace Assets.Game.HotUpdate.Data
         {
         {
             if (npcID == 0)
             if (npcID == 0)
             {
             {
-                for (int i = 0; i < ActivityVisitCfgArray.Instance.dataArray.Length; i++)
+                for (int i = 0; i < CommonDataManager.Tables.TblActivityVisitCfg.DataList.Count; i++)
                 {
                 {
                     if ((NpcInfoList.Count > i) && NpcInfoList[i].UnlockStatus == 2)
                     if ((NpcInfoList.Count > i) && NpcInfoList[i].UnlockStatus == 2)
                     {
                     {
-                        foreach (int j in ActivityVisitCfgArray.Instance.dataArray[i].taskIdArr)
+                        foreach (int j in CommonDataManager.Tables.TblActivityVisitCfg.DataList[i].TaskId)
                         {
                         {
                             if (TaskDataManager.Instance.GetTaskStateById(j) == 1)
                             if (TaskDataManager.Instance.GetTaskStateById(j) == 1)
                             {
                             {
@@ -104,7 +105,7 @@ namespace Assets.Game.HotUpdate.Data
             }
             }
             else
             else
             {
             {
-                foreach (int j in ActivityVisitCfgArray.Instance.GetCfg(npcID).taskIdArr)
+                foreach (int j in CommonDataManager.Tables.TblActivityVisitCfg.GetOrDefault(npcID).TaskId)
                 {
                 {
                     if (TaskDataManager.Instance.GetTaskStateById(j) == 1)
                     if (TaskDataManager.Instance.GetTaskStateById(j) == 1)
                     {
                     {

+ 5 - 3
GameClient/Assets/Game/HotUpdate/Data/ActivityWanShiLiDataManager.cs

@@ -1,6 +1,8 @@
 using ET;
 using ET;
 using GFGGame;
 using GFGGame;
 using System.Collections;
 using System.Collections;
+using System.Collections.Generic;
+using cfg.GfgCfg;
 using UnityEngine;
 using UnityEngine;
 
 
 namespace Assets.Game.HotUpdate.Data
 namespace Assets.Game.HotUpdate.Data
@@ -11,10 +13,10 @@ namespace Assets.Game.HotUpdate.Data
         {
         {
             ActivityInfo _activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.WanShiLi);
             ActivityInfo _activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.WanShiLi);
             if (_activityInfo == null) return false;
             if (_activityInfo == null) return false;
-            ActivityRecharge2Cfg[] _rechargeCfgs = ActivityRecharge2CfgArray.Instance.dataArray;
-            for (int i = 0; i < _rechargeCfgs.Length; i++)
+            List<ActivityRecharge2Cfg>_rechargeCfgs = CommonDataManager.Tables.TblActivityRecharge2Cfg.DataList;
+            for (int i = 0; i < _rechargeCfgs.Count; i++)
             {
             {
-                if (_activityInfo.CountValue >= _rechargeCfgs[i].value && _activityInfo.GetRewards.IndexOf(_rechargeCfgs[i].id) < 0)
+                if (_activityInfo.CountValue >= _rechargeCfgs[i].Value && _activityInfo.GetRewards.IndexOf(_rechargeCfgs[i].Id) < 0)
                 {
                 {
                     return true;
                     return true;
                 }
                 }

+ 24 - 23
GameClient/Assets/Game/HotUpdate/Data/ArenaDataManager.cs

@@ -1,6 +1,7 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
+using cfg.GfgCfg;
 using ET;
 using ET;
 using UnityEngine;
 using UnityEngine;
 using FairyGUI;
 using FairyGUI;
@@ -106,11 +107,11 @@ namespace GFGGame
             get
             get
             {
             {
                 long curTime = TimeHelper.ServerNow();
                 long curTime = TimeHelper.ServerNow();
-                long startTime = TimeUtil.GetCurWeekTime(GlobalCfgArray.globalCfg.clearingStartWeekDay,
-                    GlobalCfgArray.globalCfg.clearingStartTime);
-                long endTime = TimeUtil.GetCurWeekTime(GlobalCfgArray.globalCfg.clearingEndWeekDay,
-                    GlobalCfgArray.globalCfg.clearingEndTime);
-                if (GlobalCfgArray.globalCfg.clearingEndWeekDay >= GlobalCfgArray.globalCfg.clearingStartWeekDay)
+                long startTime = TimeUtil.GetCurWeekTime( CommonDataManager.Tables.TblGlobalCfg.ClearingStartWeekDay,
+                    CommonDataManager.Tables.TblGlobalCfg.ClearingStartTime);
+                long endTime = TimeUtil.GetCurWeekTime(CommonDataManager.Tables.TblGlobalCfg.ClearingEndWeekDay,
+                    CommonDataManager.Tables.TblGlobalCfg.ClearingEndTime);
+                if (CommonDataManager.Tables.TblGlobalCfg.ClearingEndWeekDay >= CommonDataManager.Tables.TblGlobalCfg.ClearingStartWeekDay)
                 {
                 {
                     //结算时间开始到结束未跨周(例:本周六开始,本周日结束)
                     //结算时间开始到结束未跨周(例:本周六开始,本周日结束)
                     return curTime >= startTime && curTime <= endTime;
                     return curTime >= startTime && curTime <= endTime;
@@ -131,8 +132,8 @@ namespace GFGGame
         {
         {
             get
             get
             {
             {
-                ArenaOpenCfg cfg = ArenaOpenCfgArray.Instance.GetCfg(SeasonId);
-                if (TimeUtil.IsBeforeCurTime(cfg.openTime) && TimeUtil.IsLaterCurTime(cfg.endTime))
+                ArenaOpenCfg cfg = CommonDataManager.Tables.TblArenaOpenCfg.GetOrDefault(SeasonId);
+                if (TimeUtil.IsBeforeCurTime(cfg.OpenTime) && TimeUtil.IsLaterCurTime(cfg.EndTime))
                 {
                 {
                     return true;
                     return true;
                 }
                 }
@@ -166,7 +167,7 @@ namespace GFGGame
             if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.FieldWork)
             if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.FieldWork)
             {
             {
                 cardDatas = CardDataManager.GetCardListByRoleType(0).ToList();
                 cardDatas = CardDataManager.GetCardListByRoleType(0).ToList();
-                int limitTims = CimbingTowerCfgArray.Instance.dataArray[0].UseLimit;
+                int limitTims = CommonDataManager.Tables.TblCimbingTowerCfg.DataList[0].UseLimit;
                 foreach (var item in FieldWorkDataManager.Instance.CardAbrasionInfoList)
                 foreach (var item in FieldWorkDataManager.Instance.CardAbrasionInfoList)
                 {
                 {
                     if (item.UseNum >= limitTims)
                     if (item.UseNum >= limitTims)
@@ -190,8 +191,8 @@ namespace GFGGame
             }
             }
             cardDatas = cardDatas.Where(a => !wearCardIds.Contains(a.id)).ToList();
             cardDatas = cardDatas.Where(a => !wearCardIds.Contains(a.id)).ToList();
             if (cardDatas.Count == 0) return 0;
             if (cardDatas.Count == 0) return 0;
-            wearCardIds.Add(cardDatas[0].itemCfg.id);
-            return cardDatas[0].itemCfg.id;
+            wearCardIds.Add(cardDatas[0].itemCfg.Id);
+            return cardDatas[0].itemCfg.Id;
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -200,7 +201,7 @@ namespace GFGGame
         /// <param name="scoreType"></param>
         /// <param name="scoreType"></param>
         /// <param name="tags"></param>
         /// <param name="tags"></param>
         /// <returns></returns>
         /// <returns></returns>
-        public List<int> GetRecommentItemList(int scoreType, string[] tags)
+        public List<int> GetRecommentItemList(int scoreType, List<string> tags)
         {
         {
             Dictionary<int, List<int>> itemListDic = new Dictionary<int, List<int>>();
             Dictionary<int, List<int>> itemListDic = new Dictionary<int, List<int>>();
             Dictionary<int, List<int>> itemDatasDic = DressUpMenuItemDataManager.ItemDatasBySubTypeDic;
             Dictionary<int, List<int>> itemDatasDic = DressUpMenuItemDataManager.ItemDatasBySubTypeDic;
@@ -325,7 +326,7 @@ namespace GFGGame
         /// <param name="scoreType"></param>
         /// <param name="scoreType"></param>
         /// <param name="tags"></param>
         /// <param name="tags"></param>
         /// <returns></returns>
         /// <returns></returns>
-        public List<int> GetFieldRecommentItemList(int scoreType, string[] tags)
+        public List<int> GetFieldRecommentItemList(int scoreType, List<string> tags)
         {
         {
             Dictionary<int, List<int>> itemListDic = new Dictionary<int, List<int>>();
             Dictionary<int, List<int>> itemListDic = new Dictionary<int, List<int>>();
             Dictionary<int, List<int>> itemDatasDic = DressUpMenuItemDataManager.ItemDatasBySubTypeDic;
             Dictionary<int, List<int>> itemDatasDic = DressUpMenuItemDataManager.ItemDatasBySubTypeDic;
@@ -443,12 +444,12 @@ namespace GFGGame
 
 
             return itemList;
             return itemList;
         }
         }
-        private List<int> SortDressList(List<int> dressList, int scoreType, string[] tags)
+        private List<int> SortDressList(List<int> dressList, int scoreType, List<string> tags)
         {
         {
             dressList.Sort((int a, int b) =>
             dressList.Sort((int a, int b) =>
             {
             {
-                ItemCfg cfgA = ItemCfgArray.Instance.GetCfg(a);
-                ItemCfg cfgB = ItemCfgArray.Instance.GetCfg(b);
+                ItemCfg cfgA = CommonDataManager.Tables.TblItemCfg.GetOrDefault(a);
+                ItemCfg cfgB = CommonDataManager.Tables.TblItemCfg.GetOrDefault(b);
                 bool isTagA = ItemDataManager.CheckItemTagsRight(a, tags);
                 bool isTagA = ItemDataManager.CheckItemTagsRight(a, tags);
                 bool isTagB = ItemDataManager.CheckItemTagsRight(b, tags);
                 bool isTagB = ItemDataManager.CheckItemTagsRight(b, tags);
                 if (isTagA && !isTagB) return -1;
                 if (isTagA && !isTagB) return -1;
@@ -457,7 +458,7 @@ namespace GFGGame
                 int scoreB = ItemDataManager.GetItemAdditionScore(b, scoreType, tags);
                 int scoreB = ItemDataManager.GetItemAdditionScore(b, scoreType, tags);
                 if (scoreA > scoreB) return -1;
                 if (scoreA > scoreB) return -1;
                 if (scoreA < scoreB) return 1;
                 if (scoreA < scoreB) return 1;
-                return cfgA.id - cfgB.id;
+                return cfgA.Id - cfgB.Id;
             });
             });
             return dressList;
             return dressList;
         }
         }
@@ -469,12 +470,12 @@ namespace GFGGame
         /// <param name="itemList">服装列表</param>
         /// <param name="itemList">服装列表</param>
         /// <param name="tags">标签</param>
         /// <param name="tags">标签</param>
         /// <returns></returns>
         /// <returns></returns>
-        public int GetTagsCount(List<int> itemList, string[] tags)
+        public int GetTagsCount(List<int> itemList, List<string> tags)
         {
         {
             int count = 0;
             int count = 0;
             for (int i = 0; i < itemList.Count; i++)
             for (int i = 0; i < itemList.Count; i++)
             {
             {
-                if (ItemDataManager.CheckItemTagsRight(itemList[i], tags))
+                if (ItemDataManager.CheckItemTagsRight(itemList[i], new List<string>(tags)))
                 {
                 {
                     if (ItemUtilCS.GetItemSubType(itemList[i]) == ConstDressUpItemType.LIAN_YI_QUN)
                     if (ItemUtilCS.GetItemSubType(itemList[i]) == ConstDressUpItemType.LIAN_YI_QUN)
                     {
                     {
@@ -634,8 +635,8 @@ namespace GFGGame
         private long GetRobotPerfectClickScore(FightData robotData)
         private long GetRobotPerfectClickScore(FightData robotData)
         {
         {
             long clickScore = 0;
             long clickScore = 0;
-            FightScoreCfg[] scoreCfg = FightScoreCfgArray.Instance.dataArray;
-            for (int i = 0; i < scoreCfg.Length; i++)
+            List<FightScoreCfg> scoreCfg = CommonDataManager.Tables.TblFightScoreCfg.DataList;
+            for (int i = 0; i < scoreCfg.Count; i++)
             {
             {
                 clickScore +=
                 clickScore +=
                     (long)ScoreSystemData.Instance.GetRobotRoundScore(robotData, i + 1, ClickType.PERFECT_CLICK, 0);
                     (long)ScoreSystemData.Instance.GetRobotRoundScore(robotData, i + 1, ClickType.PERFECT_CLICK, 0);
@@ -689,15 +690,15 @@ namespace GFGGame
 
 
         public int GetItemAdditionScore(int itemId, int scoreType, string[] tags = null)
         public int GetItemAdditionScore(int itemId, int scoreType, string[] tags = null)
         {
         {
-            ItemCfg itemdate = ItemCfgArray.Instance.GetCfg(itemId);
+            ItemCfg itemdate = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
             ItemData itemDate = new ItemData() { };
             ItemData itemDate = new ItemData() { };
             if (itemdate != null)
             if (itemdate != null)
             {
             {
-                itemDate.id = itemdate.id;
+                itemDate.id = itemdate.Id;
                 int scroe = 0;
                 int scroe = 0;
                 if (tags != null)
                 if (tags != null)
                 {
                 {
-                    scroe += ItemDataManager.GetItemTagScore(itemId, tags);
+                    scroe += ItemDataManager.GetItemTagScore(itemId, new List<string>(tags));
                 }
                 }
                 scroe += itemDate.GetScore(scoreType);
                 scroe += itemDate.GetScore(scoreType);
                 return scroe;
                 return scroe;

+ 7 - 6
GameClient/Assets/Game/HotUpdate/Data/ArenaViewManager.cs

@@ -1,5 +1,6 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using FairyGUI;
 using FairyGUI;
 using UI.Arena;
 using UI.Arena;
 using UnityEngine;
 using UnityEngine;
@@ -64,10 +65,10 @@ namespace GFGGame
             item.m_loaScore.url = ResPathUtil.GetScorePath(scoreType);
             item.m_loaScore.url = ResPathUtil.GetScorePath(scoreType);
             item.m_txtMyScore.text = myScore.ToString();
             item.m_txtMyScore.text = myScore.ToString();
             item.m_txtTargetScore.text = targetScore.ToString();
             item.m_txtTargetScore.text = targetScore.ToString();
-            ItemCfg cardCfg = ItemCfgArray.Instance.GetCfg(myCardId);
-            item.m_loaMyCard.m_comCardmask.m_loaCard.url = cardCfg == null ? "" : ResPathUtil.GetCardIconPath(cardCfg.res);
-            ItemCfg targetCardCfg = ItemCfgArray.Instance.GetCfg(targetCardId);
-            item.m_loaTargetCard.m_comCardmask.m_loaCard.url = targetCardCfg == null ? "" : ResPathUtil.GetCardIconPath(targetCardCfg.res);
+            ItemCfg cardCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(myCardId);
+            item.m_loaMyCard.m_comCardmask.m_loaCard.url = cardCfg == null ? "" : ResPathUtil.GetCardIconPath(cardCfg.Res);
+            ItemCfg targetCardCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(targetCardId);
+            item.m_loaTargetCard.m_comCardmask.m_loaCard.url = targetCardCfg == null ? "" : ResPathUtil.GetCardIconPath(targetCardCfg.Res);
             RoleInfoManager.Instance.UpdateHead(item.m_comMyHead, RoleDataManager.headId, RoleDataManager.headBorderId);
             RoleInfoManager.Instance.UpdateHead(item.m_comMyHead, RoleDataManager.headId, RoleDataManager.headBorderId);
             if (targetHeadId > 0)
             if (targetHeadId > 0)
             {
             {
@@ -131,8 +132,8 @@ namespace GFGGame
             com.m_txtFightScore.SetVar("value", fightScore.ToString()).FlushVars(); ;
             com.m_txtFightScore.SetVar("value", fightScore.ToString()).FlushVars(); ;
             com.m_txtTagScore.text = FightDataManager.Instance.GetTagsScore(roleDatas[index].itemList, roleDatas[index].tags).ToString();
             com.m_txtTagScore.text = FightDataManager.Instance.GetTagsScore(roleDatas[index].itemList, roleDatas[index].tags).ToString();
             int count = ArenaDataManager.Instance.GetTagsCount(roleDatas[index].itemList, roleDatas[index].tags);
             int count = ArenaDataManager.Instance.GetTagsCount(roleDatas[index].itemList, roleDatas[index].tags);
-            com.m_c1.selectedIndex = Math.Min(count, ArenaTagCfgArray.Instance.dataArray.Length);
-            com.m_c3.selectedIndex = roleDatas[index].tags.Length > 0 ? 1 : 0;
+            com.m_c1.selectedIndex = Math.Min(count, CommonDataManager.Tables.TblArenaTagCfg.DataList.Count);
+            com.m_c3.selectedIndex = roleDatas[index].tags.Count > 0 ? 1 : 0;
             UpdateFightScore(com.m_comFightScore.target, roleDatas);
             UpdateFightScore(com.m_comFightScore.target, roleDatas);
             if (index == 0)
             if (index == 0)
             {
             {

+ 19 - 0
GameClient/Assets/Game/HotUpdate/Data/BagEquipmentDataManager.cs

@@ -0,0 +1,19 @@
+using System.Collections.Generic;
+
+namespace GFGGame
+{
+    public class BagEquipmentDataManager:SingletonBase<BagEquipmentDataManager>
+    {
+        /// <summary>
+        /// 装备
+        /// </summary>
+        public List<BagEquipmentData> BagEquipmentDatas = new List<BagEquipmentData>();
+        public List<BagEquipmentData> BagMaterialDatas = new List<BagEquipmentData>();
+        
+        public void Clear()
+        {
+            BagEquipmentDatas.Clear();
+            BagMaterialDatas.Clear();
+        }
+    }
+}

+ 3 - 0
GameClient/Assets/Game/HotUpdate/Data/BagEquipmentDataManager.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 080d0944e1ed4676a192c53128bc3eaa
+timeCreated: 1744443356

+ 19 - 18
GameClient/Assets/Game/HotUpdate/Data/BattlePassTaskDataManager.cs

@@ -1,5 +1,6 @@
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
+using cfg.GfgCfg;
 using ET;
 using ET;
 
 
 namespace GFGGame
 namespace GFGGame
@@ -48,9 +49,9 @@ namespace GFGGame
             SeasonId = seasonId;
             SeasonId = seasonId;
             //设置赛季结束时间
             //设置赛季结束时间
             //获取赛季配置
             //获取赛季配置
-            var seasonCfg = BattlePassOpenCfgArray.Instance.GetCfg(seasonId);
+            var seasonCfg = CommonDataManager.Tables.TblBattlePassOpenCfg.GetOrDefault(seasonId);
             if (seasonCfg == null) return;
             if (seasonCfg == null) return;
-            SeasonEndTime = TimeUtil.GetResetTimeSec(seasonCfg.endTime);
+            SeasonEndTime = TimeUtil.GetResetTimeSec(seasonCfg.EndTime);
         }
         }
 
 
         public void SetIsBuy(bool isBuy)
         public void SetIsBuy(bool isBuy)
@@ -111,7 +112,7 @@ namespace GFGGame
                 SetSpecialCfgCache();
                 SetSpecialCfgCache();
             }
             }
             var targetLevel = selectionCache.GetValueNoCache(level);
             var targetLevel = selectionCache.GetValueNoCache(level);
-            return BattlePassCfgArray.Instance.GetCfgByidAndlevel(SeasonId, targetLevel);
+            return CommonDataManager.Tables.TblBattlePassCfg.GetGroup1ByIdAndLevel(SeasonId, targetLevel)[0];
         }
         }
 
 
         private void SetSpecialCfgCache()
         private void SetSpecialCfgCache()
@@ -121,11 +122,11 @@ namespace GFGGame
             var selections = new List<Selection<int, int>>();
             var selections = new List<Selection<int, int>>();
             foreach (var battlePassCfg in battlePassCfgs)
             foreach (var battlePassCfg in battlePassCfgs)
             {
             {
-                selections.Add(new Selection<int, int>(minIndex, battlePassCfg.level, battlePassCfg.level,
+                selections.Add(new Selection<int, int>(minIndex, battlePassCfg.Level, battlePassCfg.Level,
                     Selection<int, int>.SelectionModel.AllInclude));
                     Selection<int, int>.SelectionModel.AllInclude));
-                minIndex = battlePassCfg.level + 1;
+                minIndex = battlePassCfg.Level + 1;
             }
             }
-            selectionCache = new SelectionCache<int, int>(battlePassCfgs[0].level);
+            selectionCache = new SelectionCache<int, int>(battlePassCfgs[0].Level);
             selectionCache.AddSelection(selections);
             selectionCache.AddSelection(selections);
         }
         }
 
 
@@ -143,12 +144,12 @@ namespace GFGGame
         private void InitItemTemp()
         private void InitItemTemp()
         {
         {
             tempItems = new List<KeyValuePair<int, int>>();
             tempItems = new List<KeyValuePair<int, int>>();
-            var battlePassCfgs = BattlePassCfgArray.Instance.GetCfgsByid(GetSeasonId());
+            var battlePassCfgs = CommonDataManager.Tables.TblBattlePassCfg.GetGroup1ById(GetSeasonId());
             var items = new Dictionary<int, int>();
             var items = new Dictionary<int, int>();
-            foreach (var itemsInfo in battlePassCfgs.SelectMany(battlePassCfg => battlePassCfg.bonusSpecialArr))
+            foreach (var itemsInfo in battlePassCfgs.SelectMany(battlePassCfg => battlePassCfg.BonusSpecial))
             {
             {
-                items.TryGetValue(itemsInfo[0], out var num);
-                items[itemsInfo[0]] = num + itemsInfo[1];
+                items.TryGetValue(itemsInfo.ItemId, out var num);
+                items[itemsInfo.ItemId] = num + itemsInfo.Count;
             }
             }
             foreach (var item in items)
             foreach (var item in items)
             {
             {
@@ -157,17 +158,17 @@ namespace GFGGame
         }
         }
 
 
         //获取升级奖励
         //获取升级奖励
-        public int[][] GetUpLevelReward(int upLevel)
+        public List<ItemParam> GetUpLevelReward(int upLevel)
         {
         {
             var battlePassLevel = GetBattlePassLevel();
             var battlePassLevel = GetBattlePassLevel();
             var seasonId = GetSeasonId();
             var seasonId = GetSeasonId();
-            int[][] rs = null;
+            List<ItemParam> rs = null;
             for (var i = upLevel; i > 0; i--)
             for (var i = upLevel; i > 0; i--)
             {
             {
                 var passLevel = battlePassLevel + i;
                 var passLevel = battlePassLevel + i;
-                var cfg = BattlePassCfgArray.Instance.GetCfgByidAndlevel(seasonId, passLevel);
+                var cfg = CommonDataManager.Tables.TblBattlePassCfg.GetGroup1ByIdAndLevel(seasonId, passLevel)[0];
                 if (cfg == null) continue;
                 if (cfg == null) continue;
-                var mergeBonus = ItemUtil.MergeBonus(cfg.bonusNormalArr, cfg.bonusSpecialArr);
+                var mergeBonus = ItemUtil.MergeBonus(cfg.BonusNormal.ToGfgGameItemParam(), cfg.BonusSpecial.ToGfgGameItemParam());
                 rs = ItemUtil.MergeBonus(rs, mergeBonus);
                 rs = ItemUtil.MergeBonus(rs, mergeBonus);
             }
             }
             return rs;
             return rs;
@@ -205,15 +206,15 @@ namespace GFGGame
         //筛选出大奖数据 
         //筛选出大奖数据 
         public List<BattlePassCfg> GetIsGoodToId(int SeasonId)
         public List<BattlePassCfg> GetIsGoodToId(int SeasonId)
         {
         {
-            var battlePassCfgs = BattlePassCfgArray.Instance.GetCfgsByisGood(1);
+            var battlePassCfgs = CommonDataManager.Tables.TblBattlePassCfg.GetGroup2ByIsGood(1);
             List<BattlePassCfg> battlePassTypeCfg = new List<BattlePassCfg>();
             List<BattlePassCfg> battlePassTypeCfg = new List<BattlePassCfg>();
             foreach (var info in battlePassCfgs) {
             foreach (var info in battlePassCfgs) {
-                if(info.id == SeasonId)
+                if(info.Id == SeasonId)
                     battlePassTypeCfg.Add(info);
                     battlePassTypeCfg.Add(info);
             }
             }
             battlePassTypeCfg.Sort((BattlePassCfg a, BattlePassCfg b) =>
             battlePassTypeCfg.Sort((BattlePassCfg a, BattlePassCfg b) =>
             {
             {
-                if (a.level < b.level) return -1;
+                if (a.Level < b.Level) return -1;
 
 
                 return 1;
                 return 1;
             });
             });
@@ -224,7 +225,7 @@ namespace GFGGame
         public bool CheckStoreBrocadeWeavRed()
         public bool CheckStoreBrocadeWeavRed()
         {
         {
             var battlePassCfgs = GetIsGoodToId(GetSeasonId());
             var battlePassCfgs = GetIsGoodToId(GetSeasonId());
-            var _rewardCfgs =new List<BattlePassCfg>( BattlePassCfgArray.Instance.GetCfgsByid(GetSeasonId()));
+            var _rewardCfgs =new List<BattlePassCfg>( CommonDataManager.Tables.TblBattlePassCfg.GetGroup1ById(GetSeasonId()));
             var isBuy = BattlePassTaskDataManager.Instance.GetIsBuy();
             var isBuy = BattlePassTaskDataManager.Instance.GetIsBuy();
             for (int level = 1; level < _rewardCfgs.Count; level++) {
             for (int level = 1; level < _rewardCfgs.Count; level++) {
                 var state = GetRewardState(level);
                 var state = GetRewardState(level);

+ 7 - 6
GameClient/Assets/Game/HotUpdate/Data/Cache/DropOutDataCache.cs

@@ -1,4 +1,5 @@
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using UnityEngine;
 using UnityEngine;
 
 
 namespace GFGGame
 namespace GFGGame
@@ -21,7 +22,7 @@ namespace GFGGame
         //     }
         //     }
         //     return result;
         //     return result;
         // }
         // }
-        public static List<ItemData> GetDropItemDatas(int[] dropIds, bool doRandome)
+        public static List<ItemData> GetDropItemDatas(List<int> dropIds, bool doRandome)
         {
         {
             List<ItemData> result = new List<ItemData>();
             List<ItemData> result = new List<ItemData>();
             foreach (int dropId in dropIds)
             foreach (int dropId in dropIds)
@@ -35,21 +36,21 @@ namespace GFGGame
         public static List<ItemData> GetDropItemData(int dropId, List<ItemData> result)
         public static List<ItemData> GetDropItemData(int dropId, List<ItemData> result)
         {
         {
 
 
-            List<DropOutCfg> dropOutCfgs = DropOutCfgArray.Instance.GetCfgsByid(dropId);
+            List<DropOutCfg> dropOutCfgs = CommonDataManager.Tables.TblDropOutCfg.GetGroup1ById(dropId);
 
 
             for (int i = 0; i < dropOutCfgs.Count; i++)
             for (int i = 0; i < dropOutCfgs.Count; i++)
             {
             {
 
 
-                List<DropOutCfg> _dropOutCfgs = DropOutCfgArray.Instance.GetCfgsByid(dropOutCfgs[i].item);
+                List<DropOutCfg> _dropOutCfgs = CommonDataManager.Tables.TblDropOutCfg.GetGroup1ById(dropOutCfgs[i].Item);
                 if (_dropOutCfgs.Count > 0)
                 if (_dropOutCfgs.Count > 0)
                 {
                 {
 
 
-                    GetDropItemData(dropOutCfgs[i].item, result);
+                    GetDropItemData(dropOutCfgs[i].Item, result);
                 }
                 }
                 else
                 else
                 {
                 {
-                    ItemData itemData = ItemUtil.createItemData(dropOutCfgs[i].item, dropOutCfgs[i].maxNum, dropOutCfgs[i].minNum);// GetDropItemData(dropId, doRandome);
-                    if (dropOutCfgs[i].item > 0 && itemData != null)
+                    ItemData itemData = ItemUtil.createItemData(dropOutCfgs[i].Item, dropOutCfgs[i].MaxNum, dropOutCfgs[i].MinNum);// GetDropItemData(dropId, doRandome);
+                    if (dropOutCfgs[i].Item > 0 && itemData != null)
                     {
                     {
                         result.Add(itemData);
                         result.Add(itemData);
                     }
                     }

+ 15 - 14
GameClient/Assets/Game/HotUpdate/Data/Cache/StoryBonusDataCache.cs

@@ -1,5 +1,6 @@
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Collections;
 using System.Collections;
+using cfg.GfgCfg;
 // using System;
 // using System;
 using UnityEngine;
 using UnityEngine;
 namespace GFGGame
 namespace GFGGame
@@ -45,29 +46,29 @@ namespace GFGGame
 
 
         public static List<ItemData> GetChapterBonusList(int chapterID, int index)
         public static List<ItemData> GetChapterBonusList(int chapterID, int index)
         {
         {
-            StoryChapterCfg chapterCfg = StoryChapterCfgArray.Instance.GetCfg(chapterID);
-            int[][] bonus = chapterCfg.bonus1Arr;
+            StoryChapterCfg chapterCfg = CommonDataManager.Tables.TblStoryChapterCfg.GetOrDefault(chapterID);
+            List<ItemParam> bonus = chapterCfg.Bonus1.ToGfgGameItemParam();
             if (index == 1)
             if (index == 1)
             {
             {
-                bonus = chapterCfg.bonus2Arr;
+                bonus = chapterCfg.Bonus2.ToGfgGameItemParam();
             }
             }
             else if (index == 2)
             else if (index == 2)
             {
             {
-                bonus = chapterCfg.bonus3Arr;
+                bonus = chapterCfg.Bonus3.ToGfgGameItemParam();
             }
             }
             return ItemUtil.CreateItemDataList(bonus);
             return ItemUtil.CreateItemDataList(bonus);
         }
         }
         public static int GetChapterBonusStar(int chapterID, int index)
         public static int GetChapterBonusStar(int chapterID, int index)
         {
         {
-            StoryChapterCfg chapterCfg = StoryChapterCfgArray.Instance.GetCfg(chapterID);
-            int star = chapterCfg.bonusStar1;
+            StoryChapterCfg chapterCfg = CommonDataManager.Tables.TblStoryChapterCfg.GetOrDefault(chapterID);
+            int star = chapterCfg.BonusStar1;
             if (index == 1)
             if (index == 1)
             {
             {
-                star = chapterCfg.bonusStar2;
+                star = chapterCfg.BonusStar2;
             }
             }
             else if (index == 2)
             else if (index == 2)
             {
             {
-                star = chapterCfg.bonusStar3;
+                star = chapterCfg.BonusStar3;
             }
             }
             return star;
             return star;
         }
         }
@@ -79,13 +80,13 @@ namespace GFGGame
             {
             {
                 bonusData = new StoryBonusData();
                 bonusData = new StoryBonusData();
                 _bonusDic.Add(levelID, bonusData);
                 _bonusDic.Add(levelID, bonusData);
-                StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(levelID);
-                bonusData.bonusOnce = ItemUtil.CreateItemDataList(levelCfg.bonusOnceArr, true);
-                if (levelCfg.fightID != null && levelCfg.fightID.Length > 0)
+                StoryLevelCfg levelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(levelID);
+                bonusData.bonusOnce = ItemUtil.CreateItemDataList(levelCfg.BonusOnce.ToGfgGameItemParam(), true);
+                if (levelCfg.FightID != null && levelCfg.FightID.Length > 0)
                 {
                 {
-                    StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
-                    bonusData.bonusBase = ItemUtil.CreateItemDataList(fightCfg.bonusBaseArr);
-                    bonusData.bonusRandom = DropOutDataCache.GetDropItemDatas(fightCfg.bonusRandomArr, false);
+                    StoryFightCfg fightCfg = CommonDataManager.Tables.TblStoryFightCfg.GetOrDefault(int.Parse(levelCfg.FightID));
+                    bonusData.bonusBase = ItemUtil.CreateItemDataList(fightCfg.BonusBase.ToGfgGameItemParam());
+                    bonusData.bonusRandom = DropOutDataCache.GetDropItemDatas(fightCfg.BonusRandom, false);
                 }
                 }
             }
             }
             else
             else

+ 43 - 42
GameClient/Assets/Game/HotUpdate/Data/CardDataManager.cs

@@ -3,6 +3,7 @@ using System;
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
+using cfg.GfgCfg;
 using ET;
 using ET;
 using UnityEngine;
 using UnityEngine;
 
 
@@ -73,10 +74,10 @@ namespace GFGGame
         public static List<string> GetCardResources(ItemCfg itemCfg)
         public static List<string> GetCardResources(ItemCfg itemCfg)
         {
         {
             List<string> resources = new List<string>();
             List<string> resources = new List<string>();
-            resources.Add(itemCfg.res);
-            if (itemCfg.cardRes != "")
+            resources.Add(itemCfg.Res);
+            if (itemCfg.CardRes != "")
             {
             {
-                resources.Add(itemCfg.cardRes);
+                resources.Add(itemCfg.CardRes);
             }
             }
             return resources;
             return resources;
         }
         }
@@ -87,8 +88,8 @@ namespace GFGGame
 
 
             arrayList.Sort((CardData a, CardData b) =>
             arrayList.Sort((CardData a, CardData b) =>
             {
             {
-                int rarityA = a.itemCfg.rarity;
-                int rarityB = b.itemCfg.rarity;
+                int rarityA = a.itemCfg.Rarity;
+                int rarityB = b.itemCfg.Rarity;
                 if (rarityA < rarityB)
                 if (rarityA < rarityB)
                 {
                 {
                     return 1;
                     return 1;
@@ -123,7 +124,7 @@ namespace GFGGame
                     }
                     }
                 }
                 }
 
 
-                return string.Compare(a.itemCfg.res, b.itemCfg.res);
+                return string.Compare(a.itemCfg.Res, b.itemCfg.Res);
             });
             });
             return arrayList;
             return arrayList;
         }
         }
@@ -159,9 +160,9 @@ namespace GFGGame
         public static bool isFullLv(int cardId, int lv, bool showTips = true)
         public static bool isFullLv(int cardId, int lv, bool showTips = true)
         {
         {
             CardData cardData = _cardDicByType[0][cardId];
             CardData cardData = _cardDicByType[0][cardId];
-            int rarity = cardData.itemCfg.rarity;
-            int maxLv = CardRarityCfgArray.Instance.GetCfg(rarity).maxCardLvl;
-            if (lv >= maxLv && cardData.exp >= CardLvlCfgArray.Instance.GetCfgByrarityAndcardLvl(rarity, maxLv).needExp)
+            int rarity = cardData.itemCfg.Rarity;
+            int maxLv = CommonDataManager.Tables.TblCardRarityCfg.GetOrDefault(rarity).MaxCardLvl;
+            if (lv >= maxLv && cardData.exp >= CommonDataManager.Tables.TblCardLvlCfg.Get(rarity, maxLv).NeedExp)
             {
             {
                 if (showTips == true)
                 if (showTips == true)
                 {
                 {
@@ -177,7 +178,7 @@ namespace GFGGame
         public static bool isFullStar(int cardId, int star, bool showTips = true)
         public static bool isFullStar(int cardId, int star, bool showTips = true)
         {
         {
             CardData cardData = _cardDicByType[0][cardId];
             CardData cardData = _cardDicByType[0][cardId];
-            if (CardStarCfgArray.Instance.GetCfgBycardIdAndstarLvl(cardData.id, star + 1) == null)
+            if ( CommonDataManager.Tables.TblCardStarCfg.Get(cardData.id, star + 1) == null)
             {
             {
                 if (showTips == true)
                 if (showTips == true)
                 {
                 {
@@ -196,21 +197,21 @@ namespace GFGGame
             showLv = curLv;
             showLv = curLv;
             showExp = curExp + hasExp;
             showExp = curExp + hasExp;
             CardData cardData = _cardDicByType[0][cardId];
             CardData cardData = _cardDicByType[0][cardId];
-            int rarity = cardData.itemCfg.rarity;
-            int maxLv = CardRarityCfgArray.Instance.GetCfg(rarity).maxCardLvl;
-            CardLvlCfg tCurCfg = CardLvlCfgArray.Instance.GetCfgByrarityAndcardLvl(rarity, showLv);
-            while (showExp >= tCurCfg.needExp && showLv <= maxLv)
+            int rarity = cardData.itemCfg.Rarity;
+            int maxLv = CommonDataManager.Tables.TblCardRarityCfg.GetOrDefault(rarity).MaxCardLvl;
+            CardLvlCfg tCurCfg = CommonDataManager.Tables.TblCardLvlCfg.Get(rarity, showLv);
+            while (showExp >= tCurCfg.NeedExp && showLv <= maxLv)
             {
             {
 
 
-                showExp -= tCurCfg.needExp;
+                showExp -= tCurCfg.NeedExp;
                 if (showLv + 1 > maxLv)
                 if (showLv + 1 > maxLv)
                 {
                 {
                     //满级
                     //满级
-                    showExp = tCurCfg.needExp;
+                    showExp = tCurCfg.NeedExp;
                     break;
                     break;
                 }
                 }
                 showLv++;
                 showLv++;
-                tCurCfg = CardLvlCfgArray.Instance.GetCfgByrarityAndcardLvl(rarity, showLv);
+                tCurCfg = CommonDataManager.Tables.TblCardLvlCfg.Get(rarity, showLv);
             }
             }
         }
         }
 
 
@@ -220,9 +221,9 @@ namespace GFGGame
             for (int i = 0; i < cardList.Count; i++)
             for (int i = 0; i < cardList.Count; i++)
             {
             {
                 CardData cardData = cardList[i];
                 CardData cardData = cardList[i];
-                bool isRole = _selectRoleList.Count == 0 || _selectRoleList.IndexOf(cardData.itemCfg.subType) >= 0;
-                bool isRarity = _selectRarityList.Count == 0 || _selectRarityList.IndexOf(cardData.itemCfg.rarity) >= 0;
-                int maxLv = CardRarityCfgArray.Instance.GetCfg(cardData.itemCfg.rarity).maxCardLvl;
+                bool isRole = _selectRoleList.Count == 0 || _selectRoleList.IndexOf(cardData.itemCfg.SubType) >= 0;
+                bool isRarity = _selectRarityList.Count == 0 || _selectRarityList.IndexOf(cardData.itemCfg.Rarity) >= 0;
+                int maxLv = CommonDataManager.Tables.TblCardRarityCfg.GetOrDefault(cardData.itemCfg.Rarity).MaxCardLvl;
                 bool isFoster = _selectFosterList.Count == 0 ||
                 bool isFoster = _selectFosterList.Count == 0 ||
                 _selectFosterList.IndexOf(ConstCardState.STATE_FULL_LV) >= 0 && cardList[i].lv == maxLv ||
                 _selectFosterList.IndexOf(ConstCardState.STATE_FULL_LV) >= 0 && cardList[i].lv == maxLv ||
                 _selectFosterList.IndexOf(ConstCardState.STATE_LV) >= 0 && cardList[i].lv < maxLv ||
                 _selectFosterList.IndexOf(ConstCardState.STATE_LV) >= 0 && cardList[i].lv < maxLv ||
@@ -241,11 +242,11 @@ namespace GFGGame
         {
         {
             if (_cardStoryCfgDic.Keys.Count == 0)
             if (_cardStoryCfgDic.Keys.Count == 0)
             {
             {
-                CardStoryCfg[] cardStoryCfgs = CardStoryCfgArray.Instance.dataArray;
+                List<CardStoryCfg> cardStoryCfgs = CommonDataManager.Tables.TblCardStoryCfg.DataList ;
 
 
-                for (int i = 0; i < cardStoryCfgs.Length; i++)
+                for (int i = 0; i < cardStoryCfgs.Count; i++)
                 {
                 {
-                    int _cardId = cardStoryCfgs[i].cardId;
+                    int _cardId = cardStoryCfgs[i].CardId;
                     if (_cardStoryCfgDic.ContainsKey(_cardId) == false)
                     if (_cardStoryCfgDic.ContainsKey(_cardId) == false)
                     {
                     {
                         _cardStoryCfgDic.Add(_cardId, new List<CardStoryCfg>());
                         _cardStoryCfgDic.Add(_cardId, new List<CardStoryCfg>());
@@ -260,14 +261,14 @@ namespace GFGGame
         public static bool GetUpStarEnoughMaterial(int cardId)
         public static bool GetUpStarEnoughMaterial(int cardId)
         {
         {
             CardData cardData = CardDataManager.GetCardDataById(cardId);
             CardData cardData = CardDataManager.GetCardDataById(cardId);
-            CardStarCfg starCfg = CardStarCfgArray.Instance.GetCfgBycardIdAndstarLvl(cardId, cardData.star);
-            for (int i = 0; i < starCfg.materiarsArr.Length; i++)
+            CardStarCfg starCfg = CommonDataManager.Tables.TblCardStarCfg.Get(cardId, cardData.star);
+            for (int i = 0; i < starCfg.Materiars.Count; i++)
             {
             {
                 if (GameGlobal.myNumericComponent.GetAsInt(NumericType.IsAutoSelect) == 0 &&
                 if (GameGlobal.myNumericComponent.GetAsInt(NumericType.IsAutoSelect) == 0 &&
-                    ItemDataManager.GetItemNum(starCfg.materiarsArr[i][0]) < starCfg.materiarsArr[i][1])
+                    ItemDataManager.GetItemNum(starCfg.Materiars[i].ItemId) < starCfg.Materiars[i].Count)
                     return false;
                     return false;
                 else if (GameGlobal.myNumericComponent.GetAsInt(NumericType.IsAutoSelect) == 1 &&
                 else if (GameGlobal.myNumericComponent.GetAsInt(NumericType.IsAutoSelect) == 1 &&
-                    (i == 0 && (ItemDataManager.GetItemNum(6003001) + ItemDataManager.GetItemNum(starCfg.materiarsArr[i][0])) < starCfg.materiarsArr[i][1]) || (i == 1 && (ItemDataManager.GetItemNum(6003002) + ItemDataManager.GetItemNum(starCfg.materiarsArr[i][0])) < starCfg.materiarsArr[i][1]))
+                    (i == 0 && (ItemDataManager.GetItemNum(6003001) + ItemDataManager.GetItemNum(starCfg.Materiars[i].ItemId)) < starCfg.Materiars[i].Count) || (i == 1 && (ItemDataManager.GetItemNum(6003002) + ItemDataManager.GetItemNum(starCfg.Materiars[i].ItemId)) < starCfg.Materiars[i].Count))
                     return false;
                     return false;
             }
             }
 
 
@@ -285,11 +286,11 @@ namespace GFGGame
         {
         {
             List<int> result = new List<int>();
             List<int> result = new List<int>();
 
 
-            List<ItemCfg> itemCfgs = ItemCfgArray.Instance.GetCfgsByitemType(ConstItemType.CARD);
+            List<ItemCfg> itemCfgs = CommonDataManager.Tables.TblItemCfg.GetGroup1ByItemType(ConstItemType.CARD);
             itemCfgs.Sort((a, b) =>
             itemCfgs.Sort((a, b) =>
             {
             {
-                bool haveA = GetCardDataById(a.id) != null;
-                bool haveB = GetCardDataById(b.id) != null;
+                bool haveA = GetCardDataById(a.Id) != null;
+                bool haveB = GetCardDataById(b.Id) != null;
 
 
                 if (haveB && !haveA)
                 if (haveB && !haveA)
                 {
                 {
@@ -300,25 +301,25 @@ namespace GFGGame
                     return -1;
                     return -1;
                 }
                 }
 
 
-                if (a.rarity != b.rarity)
+                if (a.Rarity != b.Rarity)
                 {
                 {
-                    return a.rarity > b.rarity ? -1 : 1;
+                    return a.Rarity > b.Rarity ? -1 : 1;
                 }
                 }
 
 
-                return a.res.CompareTo(b.res);
+                return a.Res.CompareTo(b.Res);
 
 
             });
             });
 
 
             for (int i = 0; i < itemCfgs.Count; i++)
             for (int i = 0; i < itemCfgs.Count; i++)
             {
             {
-                if (itemCfgs[i].isHide > 0)
+                if (itemCfgs[i].IsHide > 0)
                 {
                 {
                     continue;
                     continue;
                 }
                 }
 
 
-                if (mainScore == 0 || itemCfgs[i].mainScore == mainScore)
+                if (mainScore == 0 || itemCfgs[i].MainScore == mainScore)
                 {
                 {
-                    result.Add(itemCfgs[i].id);
+                    result.Add(itemCfgs[i].Id);
                 }
                 }
             }
             }
 
 
@@ -327,20 +328,20 @@ namespace GFGGame
 
 
         public static void GetTotalProgress(out int haveCount, out int totalCount, int mainScore = 0)
         public static void GetTotalProgress(out int haveCount, out int totalCount, int mainScore = 0)
         {
         {
-            totalCount = GlobalCfgArray.globalCfg.CardCount;
+            totalCount = CommonDataManager.Tables.TblGlobalCfg.CardCount;
 
 
             if (mainScore != 0)
             if (mainScore != 0)
             {
             {
-                List<ItemCfg> itemCfgs = ItemCfgArray.Instance.GetCfgsByitemType(ConstItemType.CARD);
+                List<ItemCfg> itemCfgs = CommonDataManager.Tables.TblItemCfg.GetGroup1ByItemType(ConstItemType.CARD);
                 totalCount = 0;
                 totalCount = 0;
                 for (int i = 0; i < itemCfgs.Count; i++)
                 for (int i = 0; i < itemCfgs.Count; i++)
                 {
                 {
-                    if (itemCfgs[i].isHide > 0)
+                    if (itemCfgs[i].IsHide > 0)
                     {
                     {
                         continue;
                         continue;
                     }
                     }
 
 
-                    if (itemCfgs[i].mainScore == mainScore)
+                    if (itemCfgs[i].MainScore == mainScore)
                     {
                     {
                         ++totalCount;
                         ++totalCount;
                     }
                     }
@@ -352,9 +353,9 @@ namespace GFGGame
 
 
         public static int GetNextUpCardNeedRoleLv(int cardLv) { 
         public static int GetNextUpCardNeedRoleLv(int cardLv) { 
             int roleLv = RoleDataManager.lvl;
             int roleLv = RoleDataManager.lvl;
-            for (int i = roleLv + 1; i<RoleLevelCfgArray.Instance.dataArray.Length; i++)
+            for (int i = roleLv + 1; i< CommonDataManager.Tables.TblRoleLevelCfg.DataList.Count; i++)
             {
             {
-                int limit = RoleLevelCfgArray.Instance.GetCfg(i).cardLeverLimit;
+                int limit = CommonDataManager.Tables.TblRoleLevelCfg.GetOrDefault(i).CardLeverLimit;
                 if (cardLv < limit)
                 if (cardLv < limit)
                 {
                 {
                     roleLv = i;
                     roleLv = i;

+ 26 - 25
GameClient/Assets/Game/HotUpdate/Data/CollectPartDataManager.cs

@@ -4,6 +4,7 @@ using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine;
 using System.Text.RegularExpressions;
 using System.Text.RegularExpressions;
+using cfg.GfgCfg;
 
 
 namespace GFGGame
 namespace GFGGame
 {
 {
@@ -57,14 +58,14 @@ namespace GFGGame
                 List<int> item = new List<int>() { 3, 9 };
                 List<int> item = new List<int>() { 3, 9 };
                 if (i == Count)
                 if (i == Count)
                 {
                 {
-                    collectcfg = CollegeBoostCfgArray.Instance.GetCfgBytypePartsAndtypePhaseAndlayer(99, item[0], item[1]);
+                    collectcfg = CommonDataManager.Tables.TblCollegeBoostCfg.Get(99, item[0], item[1]);
                     if (collectcfg == null)
                     if (collectcfg == null)
                     {
                     {
                         item.Add(0);
                         item.Add(0);
                     }
                     }
                     else
                     else
                     {
                     {
-                        item.Add(collectcfg.value);
+                        item.Add(collectcfg.Value);
                     }
                     }
                     if (CollectPartDataDic.ContainsKey(99))
                     if (CollectPartDataDic.ContainsKey(99))
                     {
                     {
@@ -77,14 +78,14 @@ namespace GFGGame
                 }
                 }
                 else
                 else
                 {
                 {
-                    collectcfg = CollegeBoostCfgArray.Instance.GetCfgBytypePartsAndtypePhaseAndlayer(i, item[0], item[1]);
+                    collectcfg = CommonDataManager.Tables.TblCollegeBoostCfg.Get(i, item[0], item[1]);
                     if (collectcfg == null)
                     if (collectcfg == null)
                     {
                     {
                         item.Add(0);
                         item.Add(0);
                     }
                     }
                     else
                     else
                     {
                     {
-                        item.Add(collectcfg.value);
+                        item.Add(collectcfg.Value);
                     }
                     }
                     if (CollectPartDataDic.ContainsKey(i))
                     if (CollectPartDataDic.ContainsKey(i))
                     {
                     {
@@ -103,15 +104,15 @@ namespace GFGGame
         /// </summary>
         /// </summary>
         public float GetEquipScoresWithPartId(int itemID)
         public float GetEquipScoresWithPartId(int itemID)
         {
         {
-            CollegeSubTypesCfg[] typeCfgs = CollegeSubTypesCfgArray.Instance.dataArray;
+            List<CollegeSubTypesCfg> typeCfgs = CommonDataManager.Tables.TblCollegeSubTypesCfg.DataList ;
             float addNum = 0;
             float addNum = 0;
-            for (int j = 0; j < typeCfgs.Length; j++)
+            for (int j = 0; j < typeCfgs.Count; j++)
             {
             {
                 CollegeSubTypesCfg cfg = typeCfgs[j];
                 CollegeSubTypesCfg cfg = typeCfgs[j];
-                for (int k = 0; k < cfg.subTypesArr.Length; k++)
+                for (int k = 0; k < cfg.SubTypes.Count; k++)
                 {
                 {
-                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID);
-                    if (itemCfg.subType == cfg.subTypesArr[k])
+                    ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemID);
+                    if (itemCfg.SubType == cfg.SubTypes[k])
                     {
                     {
                         int partIndex = cfg.AdditionSite;
                         int partIndex = cfg.AdditionSite;
                         int partIndexCommon = 0;
                         int partIndexCommon = 0;
@@ -123,8 +124,8 @@ namespace GFGGame
                             addNum += 0;
                             addNum += 0;
                             break;
                             break;
                         }
                         }
-                        CollegeBoostCfg collegeCfg = CollegeBoostCfgArray.Instance.GetCfgBytypePartsAndtypePhaseAndlayer(partIndex, level, levelNum);
-                        addNum += (float)collegeCfg.value / 10000;
+                        CollegeBoostCfg collegeCfg = CommonDataManager.Tables.TblCollegeBoostCfg.Get(partIndex, level, levelNum);
+                        addNum += (float)collegeCfg.Value / 10000;
                         break;
                         break;
                     }
                     }
                 }
                 }
@@ -145,23 +146,23 @@ namespace GFGGame
             {
             {
                 rankLv += 1;
                 rankLv += 1;
             }
             }
-            CollegeBoostCfg collegeBoostCfg = CollegeBoostCfgArray.Instance.GetCfgBytypePartsAndtypePhaseAndlayer(pardId,rankIndex,rankLv);
+            CollegeBoostCfg collegeBoostCfg = CommonDataManager.Tables.TblCollegeBoostCfg.Get(pardId,rankIndex,rankLv);
             if (collegeBoostCfg == null)
             if (collegeBoostCfg == null)
             {
             {
                 return false;
                 return false;
             }
             }
-            for (int i = 0; i < collegeBoostCfg.consumeArr.Length; i++)
+            for (int i = 0; i < collegeBoostCfg.Consume.Count; i++)
             {
             {
-                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(collegeBoostCfg.consumeArr[i][0]);
+                ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(collegeBoostCfg.Consume[i].ItemId);
                 ItemData itemCount;
                 ItemData itemCount;
                 long count;
                 long count;
-                if (itemCfg.itemType == ConstItemType.DRESS_UP)
+                if (itemCfg.ItemType == ConstItemType.DRESS_UP)
                 {
                 {
-                    count = ItemDataManager.GetItemNum(collegeBoostCfg.consumeArr[i][0]);
+                    count = ItemDataManager.GetItemNum(collegeBoostCfg.Consume[i].ItemId);
                 }
                 }
                 else
                 else
                 {
                 {
-                    if (BagDataManager.Instance.GetBagData().TryGetValue(collegeBoostCfg.consumeArr[i][0], out itemCount))
+                    if (BagDataManager.Instance.GetBagData().TryGetValue(collegeBoostCfg.Consume[i].ItemId, out itemCount))
                     {
                     {
                         count = itemCount.num;
                         count = itemCount.num;
                     }
                     }
@@ -170,7 +171,7 @@ namespace GFGGame
                         count = 0;
                         count = 0;
                     }
                     }
                 }
                 }
-                if(count < collegeBoostCfg.consumeArr[i][1])
+                if(count < collegeBoostCfg.Consume[i].Count)
                 {
                 {
                     return false;
                     return false;
                 }
                 }
@@ -202,10 +203,10 @@ namespace GFGGame
             bool isRank = false;
             bool isRank = false;
             bool isLevel = false;
             bool isLevel = false;
             bool isPassStory = false;
             bool isPassStory = false;
-            CollegeRankOpenCfg openitem = CollegeRankOpenCfgArray.Instance.GetCfg(partIndex);
+            CollegeRankOpenCfg openitem = CommonDataManager.Tables.TblCollegeRankOpenCfg.Get(partIndex);
             openList = GetOpenList(partIndex);
             openList = GetOpenList(partIndex);
             //判断段位
             //判断段位
-            if (openitem.OpenPreconditionArr == null || openitem.OpenPreconditionArr.Length == 0)
+            if (openitem.OpenPrecondition == null || openitem.OpenPrecondition.Count == 0)
             {
             {
                 isRank = true;
                 isRank = true;
             }
             }
@@ -220,12 +221,12 @@ namespace GFGGame
                 }
                 }
             }
             }
             //判断等级
             //判断等级
-            if (RoleDataManager.lvl >= openitem.needRoleLv)
+            if (RoleDataManager.lvl >= openitem.NeedRoleLv)
             {
             {
                 isLevel = true;
                 isLevel = true;
             }
             }
             //判断关卡
             //判断关卡
-            if (openitem.needStoryLevelId == 0 || InstanceZonesDataManager.CheckLevelPass(openitem.needStoryLevelId))
+            if (openitem.NeedStoryLevelId == 0 || InstanceZonesDataManager.CheckLevelPass(openitem.NeedStoryLevelId))
             {
             {
                 isPassStory = true;
                 isPassStory = true;
             }
             }
@@ -240,10 +241,10 @@ namespace GFGGame
         {
         {
             List<int> openList = new List<int>();
             List<int> openList = new List<int>();
             string pattern = @"\d+";
             string pattern = @"\d+";
-            CollegeRankOpenCfg openitem = CollegeRankOpenCfgArray.Instance.GetCfg(partIndex);
-            for (int i = 0; i < openitem.OpenPreconditionArr.Length; i++)
+            CollegeRankOpenCfg openitem = CommonDataManager.Tables.TblCollegeRankOpenCfg.Get(partIndex);
+            for (int i = 0; i < openitem.OpenPrecondition.Count; i++)
             {
             {
-                MatchCollection matches = Regex.Matches(openitem.OpenPreconditionArr[i], pattern);
+                MatchCollection matches = Regex.Matches(openitem.OpenPrecondition[i], pattern);
                 foreach (Match match in matches)
                 foreach (Match match in matches)
                 {
                 {
                     openList.Add(int.Parse(match.Value));
                     openList.Add(int.Parse(match.Value));

+ 7 - 6
GameClient/Assets/Game/HotUpdate/Data/CustomSuitDataManager.cs

@@ -1,4 +1,5 @@
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using ET;
 using ET;
 
 
 namespace GFGGame
 namespace GFGGame
@@ -82,8 +83,8 @@ namespace GFGGame
 
 
         public static string[] GetSuitPosItems()
         public static string[] GetSuitPosItems()
         {
         {
-            MonthlyCardPrivilegeCfg privilegeCfg = MonthlyCardPrivilegeCfgArray.Instance.GetCfg(MonthCardPrivilegeType.Privilege3);
-            string[] posItems = new string[GlobalCfgArray.globalCfg.freeSuitNum + privilegeCfg.value1Arr[0] + privilegeCfg.value2Arr[0]];
+            MonthlyCardPrivilegeCfg privilegeCfg = CommonDataManager.Tables.TblMonthlyCardPrivilegeCfg.GetOrDefault(MonthCardPrivilegeType.Privilege3);
+            string[] posItems = new string[ CommonDataManager.Tables.TblGlobalCfg.FreeSuitNum + privilegeCfg.Value1[0] + privilegeCfg.Value2[0]];
             for (int i = 0; i < posItems.Length; i++)
             for (int i = 0; i < posItems.Length; i++)
             {
             {
                 if (GetPosType(i) == 0)
                 if (GetPosType(i) == 0)
@@ -120,11 +121,11 @@ namespace GFGGame
         //获取指定位置月卡类型
         //获取指定位置月卡类型
         public static int GetPosType(int pos)
         public static int GetPosType(int pos)
         {
         {
-            if (pos < GlobalCfgArray.globalCfg.freeSuitNum) return 0;
+            if (pos < CommonDataManager.Tables.TblGlobalCfg.FreeSuitNum) return 0;
 
 
-            MonthlyCardPrivilegeCfg privilegeCfg = MonthlyCardPrivilegeCfgArray.Instance.GetCfg(MonthCardPrivilegeType.Privilege3);
-            if (pos < GlobalCfgArray.globalCfg.freeSuitNum + privilegeCfg.value1Arr[0]) return MonthCardType.Gold;
-            if (pos >= GlobalCfgArray.globalCfg.freeSuitNum + privilegeCfg.value1Arr[0]) return MonthCardType.BlackGold;
+            MonthlyCardPrivilegeCfg privilegeCfg = CommonDataManager.Tables.TblMonthlyCardPrivilegeCfg.GetOrDefault(MonthCardPrivilegeType.Privilege3);
+            if (pos < CommonDataManager.Tables.TblGlobalCfg.FreeSuitNum + privilegeCfg.Value1[0]) return MonthCardType.Gold;
+            if (pos >= CommonDataManager.Tables.TblGlobalCfg.FreeSuitNum + privilegeCfg.Value1[0]) return MonthCardType.BlackGold;
 
 
             return 0;
             return 0;
         }
         }

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

@@ -43,17 +43,17 @@ namespace GFGGame
         /// <returns></returns>
         /// <returns></returns>
         public int GetShowLivenessBoxNum(int taskFuncType)
         public int GetShowLivenessBoxNum(int taskFuncType)
         {
         {
-            var cfgs = TaskActiveRewardCfgArray.Instance.GetCfgsByfuncType(taskFuncType);
+            var cfgs = CommonDataManager.Tables.TblTaskActiveRewardCfg.GetGroup1ByFuncType(taskFuncType);
             foreach (var t in cfgs)
             foreach (var t in cfgs)
             {
             {
-                if (!_livenessBoxInfos.ContainsKey(t.id) || _livenessBoxInfos[t.id] != ConstBonusStatus.GOT)
+                if (!_livenessBoxInfos.ContainsKey(t.Id) || _livenessBoxInfos[t.Id] != ConstBonusStatus.GOT)
                 {
                 {
-                    return t.count;
+                    return t.Count;
                 }
                 }
             }
             }
 
 
             var index = cfgs.Count - 1;
             var index = cfgs.Count - 1;
-            return cfgs[index].count;
+            return cfgs[index].Count;
         }
         }
      
      
         public bool GetHadGetRewardNum(int taskFuncType)
         public bool GetHadGetRewardNum(int taskFuncType)
@@ -62,9 +62,9 @@ namespace GFGGame
             {
             {
                 if(t.Value == ConstBonusStatus.CAN_GET)
                 if(t.Value == ConstBonusStatus.CAN_GET)
                 {
                 {
-                    var cfg = TaskActiveRewardCfgArray.Instance.GetCfg(t.Key);
+                    var cfg = CommonDataManager.Tables.TblTaskActiveRewardCfg.GetGroup1ByFuncType(t.Key)[0];
                     if (cfg == null) continue;
                     if (cfg == null) continue;
-                    if (taskFuncType != 0 && cfg.funcType != taskFuncType) continue;
+                    if (taskFuncType != 0 && cfg.FuncType != taskFuncType) continue;
                     return true;
                     return true;
                 }
                 }
             }
             }

+ 31 - 30
GameClient/Assets/Game/HotUpdate/Data/DecomposeDataManager.cs

@@ -1,4 +1,5 @@
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 
 
 namespace GFGGame
 namespace GFGGame
 {
 {
@@ -32,15 +33,15 @@ namespace GFGGame
             }
             }
 
 
             //套装拥有的时候需要让材料重新加进列表
             //套装拥有的时候需要让材料重新加进列表
-            int[][] syntheticMateriarsArr = ItemDataManager.GetItemSyntheticSuitArr(itemId);
-            if (syntheticMateriarsArr.Length > 0) {
-                foreach (int[] materiars in syntheticMateriarsArr)
+            IList<ItemParam> syntheticMateriarsArr = ItemDataManager.GetItemSyntheticSuitArr(itemId);
+            if (syntheticMateriarsArr.Count > 0) {
+                foreach (var materiars in syntheticMateriarsArr)
                 {
                 {
-                    int materialId = materiars[0];
+                    int materialId = materiars.ItemId;
                     int materialItemType = ItemDataManager.GetItemType(materialId);
                     int materialItemType = ItemDataManager.GetItemType(materialId);
                     if (materialItemType == ConstItemType.DRESS_UP) { 
                     if (materialItemType == ConstItemType.DRESS_UP) { 
                         long materiarsCount = ItemCanDecomposeCount(materialId);
                         long materiarsCount = ItemCanDecomposeCount(materialId);
-                        if (materiarsCount> 0 && (materiarsCount + materiars[1] - DeductSynthesisNeedNum(materialId)) > 0)
+                        if (materiarsCount> 0 && (materiarsCount + materiars.Count - DeductSynthesisNeedNum(materialId)) > 0)
                         {
                         {
                             rarity = ItemDataManager.GetItemRarity(materialId);
                             rarity = ItemDataManager.GetItemRarity(materialId);
                             if (!_decomposeData.ContainsKey(rarity))
                             if (!_decomposeData.ContainsKey(rarity))
@@ -74,7 +75,7 @@ namespace GFGGame
 
 
         public void Remove(int itemId)
         public void Remove(int itemId)
         {
         {
-            int rarity = ItemCfgArray.Instance.GetCfg(itemId).rarity;
+            int rarity = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId).Rarity;
             long count = ItemCanDecomposeCount(itemId);
             long count = ItemCanDecomposeCount(itemId);
 
 
             if (_decomposeData.ContainsKey(rarity) && _decomposeData[rarity].IndexOf(itemId) >= 0 && count <= 0)
             if (_decomposeData.ContainsKey(rarity) && _decomposeData[rarity].IndexOf(itemId) >= 0 && count <= 0)
@@ -85,7 +86,7 @@ namespace GFGGame
 
 
         public void RemoveMaterial(int itemId)
         public void RemoveMaterial(int itemId)
         {
         {
-            int rarity = ItemCfgArray.Instance.GetCfg(itemId).rarity;
+            int rarity = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId).Rarity;
             long count = ItemCanDecomposeMaterialCount(itemId);
             long count = ItemCanDecomposeMaterialCount(itemId);
 
 
             if (_decomposeMaterialData.ContainsKey(rarity) && _decomposeMaterialData[rarity].IndexOf(itemId) >= 0 && count <= 0)
             if (_decomposeMaterialData.ContainsKey(rarity) && _decomposeMaterialData[rarity].IndexOf(itemId) >= 0 && count <= 0)
@@ -97,19 +98,19 @@ namespace GFGGame
         //分解需要扣去合成需要的数量
         //分解需要扣去合成需要的数量
         public int DeductSynthesisNeedNum(int itemId)
         public int DeductSynthesisNeedNum(int itemId)
         {
         {
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+            ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
             if (itemCfg == null)
             if (itemCfg == null)
                 return 0;
                 return 0;
 
 
             int sum = 0;
             int sum = 0;
-            foreach (int syntheticId in itemCfg.syntheticSuitArr)
+            foreach (int syntheticId in itemCfg.SyntheticSuit)
             {
             {
                 if (ItemDataManager.GetItemNum(syntheticId) <= 0) { 
                 if (ItemDataManager.GetItemNum(syntheticId) <= 0) { 
-                    ItemCfg syntheticItemCfg = ItemCfgArray.Instance.GetCfg(syntheticId);
-                    foreach (int[] MateriarsInfo in syntheticItemCfg.syntheticMateriarsArr)
+                    ItemCfg syntheticItemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(syntheticId);
+                    foreach (var MateriarsInfo in syntheticItemCfg.SyntheticMateriars)
                     {
                     {
-                        if(MateriarsInfo[0] == itemId)
-                            sum += MateriarsInfo[1];
+                        if(MateriarsInfo.ItemId == itemId)
+                            sum += MateriarsInfo.Count;
                     }  
                     }  
                 }
                 }
             }
             }
@@ -120,14 +121,14 @@ namespace GFGGame
         {
         {
             if (_rewardList.Count == 0)
             if (_rewardList.Count == 0)
             {
             {
-                DecomposeCfg[] cfgs = DecomposeCfgArray.Instance.dataArray;
-                for (int i = 0; i < cfgs.Length; i++)
+                var cfgs = CommonDataManager.Tables.TblDecomposeCfg.DataList ;
+                for (int i = 0; i < cfgs.Count; i++)
                 {
                 {
-                    for (int j = 0; j < cfgs[i].itemsArr.Length; j++)
+                    for (int j = 0; j < cfgs[i].Items.Count; j++)
                     {
                     {
-                        if (_rewardList.IndexOf(cfgs[i].itemsArr[j][0]) < 0)
+                        if (_rewardList.IndexOf(cfgs[i].Items[j].ItemId) < 0)
                         {
                         {
-                            _rewardList.Add(cfgs[i].itemsArr[j][0]);
+                            _rewardList.Add(cfgs[i].Items[j].ItemId);
                         }
                         }
                     }
                     }
                 }
                 }
@@ -229,14 +230,14 @@ namespace GFGGame
                 return 0;
                 return 0;
 
 
             int skillLv = leagueSkillLvDatas[skillId];
             int skillLv = leagueSkillLvDatas[skillId];
-            PassivitySkillLvlCfg skillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLv, skillId);
+            PassivitySkillLvlCfg skillLvlCfg = CommonDataManager.Tables.TblPassivitySkillLvlCfg.Get(skillLv, skillId);
             int skillLvIndex = skillLv;
             int skillLvIndex = skillLv;
 
 
-            while (skillLvlCfg != null && skillLvlCfg.materiarsArr != null && skillLvlCfg.materiarsArr.Length > 0)
+            while (skillLvlCfg != null && skillLvlCfg.Materiars != null && skillLvlCfg.Materiars.Count > 0)
             {
             {
-                sum += skillLvlCfg.materiarsArr[0][1];
+                sum += skillLvlCfg.Materiars[0][1];
                 skillLvIndex += 1;
                 skillLvIndex += 1;
-                skillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLvIndex, skillId);
+                skillLvlCfg = CommonDataManager.Tables.TblPassivitySkillLvlCfg.Get(skillLvIndex, skillId);
             }
             }
             return sum;
             return sum;
         }
         }
@@ -244,20 +245,20 @@ namespace GFGGame
         public void InitSuitSyntheticMaterias()
         public void InitSuitSyntheticMaterias()
         {
         {
             List<SuitCfg> suitCfgs = new List<SuitCfg>();
             List<SuitCfg> suitCfgs = new List<SuitCfg>();
-            suitCfgs.AddRange(new List<SuitCfg>(SuitCfgArray.Instance.GetCfgsBysyntheticType(1)));
-            suitCfgs.AddRange(new List<SuitCfg>(SuitCfgArray.Instance.GetCfgsBysyntheticType(2)));
-            suitCfgs.AddRange(new List<SuitCfg>(SuitCfgArray.Instance.GetCfgsBysyntheticType(3)));
+            suitCfgs.AddRange(new List<SuitCfg>( CommonDataManager.Tables.TblSuitCfg.GetGroup1BySyntheticType(1)));
+            suitCfgs.AddRange(new List<SuitCfg>(CommonDataManager.Tables.TblSuitCfg.GetGroup1BySyntheticType(2)));
+            suitCfgs.AddRange(new List<SuitCfg>(CommonDataManager.Tables.TblSuitCfg.GetGroup1BySyntheticType(3)));
 
 
             for (int i = 0; i < suitCfgs.Count; i++)
             for (int i = 0; i < suitCfgs.Count; i++)
             {
             {
-                int suitId = suitCfgs[i].id;
-                for (int j = 0; j < suitCfgs[i].partsArr.Length; j++)
+                int suitId = suitCfgs[i].Id;
+                for (int j = 0; j < suitCfgs[i].Parts.Count; j++)
                 {
                 {
-                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(suitCfgs[i].partsArr[j]);
+                    ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(suitCfgs[i].Parts[j]);
 
 
-                    for (int k = 0; k < itemCfg.syntheticMateriarsArr.Length; k++)
+                    for (int k = 0; k < itemCfg.SyntheticMateriars.Count; k++)
                     {
                     {
-                        int materialId = itemCfg.syntheticMateriarsArr[k][0];
+                        int materialId = itemCfg.SyntheticMateriars[k].ItemId;
                         if (!_suitSyntheticMaterials.ContainsKey(materialId))
                         if (!_suitSyntheticMaterials.ContainsKey(materialId))
                         {
                         {
                             _suitSyntheticMaterials[materialId] = new List<int>();
                             _suitSyntheticMaterials[materialId] = new List<int>();

+ 101 - 100
GameClient/Assets/Game/HotUpdate/Data/DressUpMenuItemDataManager.cs

@@ -5,6 +5,7 @@ using UnityEngine;
 using ET;
 using ET;
 using FairyGUI;
 using FairyGUI;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
+using cfg.GfgCfg;
 
 
 namespace GFGGame
 namespace GFGGame
 {
 {
@@ -117,7 +118,7 @@ namespace GFGGame
             {
             {
                 _itemDatasBySubTypeDic[subType].Remove(value);
                 _itemDatasBySubTypeDic[subType].Remove(value);
             }
             }
-            int rarity = ItemCfgArray.Instance.GetCfg(value).rarity;
+            int rarity = CommonDataManager.Tables.TblItemCfg.GetOrDefault(value).Rarity;
             if (_itemDatasByRarityDic.ContainsKey(rarity) && _itemDatasByRarityDic[rarity].IndexOf(value) >= 0)
             if (_itemDatasByRarityDic.ContainsKey(rarity) && _itemDatasByRarityDic[rarity].IndexOf(value) >= 0)
             {
             {
                 _itemDatasByRarityDic[rarity].Remove(value);
                 _itemDatasByRarityDic[rarity].Remove(value);
@@ -263,8 +264,8 @@ namespace GFGGame
         {
         {
             arrayList.Sort((int a, int b) =>
             arrayList.Sort((int a, int b) =>
             {
             {
-                ItemCfg itemCfgA = ItemCfgArray.Instance.GetCfg(a);
-                ItemCfg itemCfgB = ItemCfgArray.Instance.GetCfg(b);
+                ItemCfg itemCfgA = CommonDataManager.Tables.TblItemCfg.GetOrDefault(a);
+                ItemCfg itemCfgB = CommonDataManager.Tables.TblItemCfg.GetOrDefault(b);
                 bool isNewA = CheckIsDressUpItemNew(a);
                 bool isNewA = CheckIsDressUpItemNew(a);
                 bool isNewB = CheckIsDressUpItemNew(b);
                 bool isNewB = CheckIsDressUpItemNew(b);
                 if (isNewA != isNewB)
                 if (isNewA != isNewB)
@@ -273,11 +274,11 @@ namespace GFGGame
                     if (isNewB) return 1;
                     if (isNewB) return 1;
                 }
                 }
 
 
-                if (itemCfgB.rarity > itemCfgA.rarity)
+                if (itemCfgB.Rarity > itemCfgA.Rarity)
                 {
                 {
                     return 1;
                     return 1;
                 }
                 }
-                else if (itemCfgB.rarity < itemCfgA.rarity)
+                else if (itemCfgB.Rarity < itemCfgA.Rarity)
                 {
                 {
                     return -1;
                     return -1;
                 }
                 }
@@ -290,8 +291,8 @@ namespace GFGGame
         {
         {
             arrayList.Sort((int a, int b) =>
             arrayList.Sort((int a, int b) =>
             {
             {
-                ItemCfg itemCfgA = ItemCfgArray.Instance.GetCfg(a);
-                ItemCfg itemCfgB = ItemCfgArray.Instance.GetCfg(b);
+                ItemCfg itemCfgA = CommonDataManager.Tables.TblItemCfg.GetOrDefault(a);
+                ItemCfg itemCfgB = CommonDataManager.Tables.TblItemCfg.GetOrDefault(b);
                 bool isNewA = CheckIsDressUpItemNew(a);
                 bool isNewA = CheckIsDressUpItemNew(a);
                 bool isNewB = CheckIsDressUpItemNew(b);
                 bool isNewB = CheckIsDressUpItemNew(b);
                 if (isNewA != isNewB)
                 if (isNewA != isNewB)
@@ -300,11 +301,11 @@ namespace GFGGame
                     if (isNewB) return 1;
                     if (isNewB) return 1;
                 }
                 }
 
 
-                if (itemCfgB.rarity < itemCfgA.rarity)
+                if (itemCfgB.Rarity < itemCfgA.Rarity)
                 {
                 {
                     return 1;
                     return 1;
                 }
                 }
-                else if (itemCfgB.rarity > itemCfgA.rarity)
+                else if (itemCfgB.Rarity > itemCfgA.Rarity)
                 {
                 {
                     return -1;
                     return -1;
                 }
                 }
@@ -315,8 +316,8 @@ namespace GFGGame
 
 
         public static List<int> GetRecommendItemList(bool toSort = true)
         public static List<int> GetRecommendItemList(bool toSort = true)
         {
         {
-            StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
-            StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
+            StoryLevelCfg levelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(InstanceZonesDataManager.currentLevelCfgId);
+            StoryFightCfg fightCfg = CommonDataManager.Tables.TblStoryFightCfg.GetOrDefault(int.Parse(levelCfg.FightID));
 
 
             List<int> recommendTypeList = new List<int>();
             List<int> recommendTypeList = new List<int>();
             List<int> recommendList = new List<int>();
             List<int> recommendList = new List<int>();
@@ -333,8 +334,8 @@ namespace GFGGame
                 {
                 {
                     if (!recommendTypeList.Contains(subType))
                     if (!recommendTypeList.Contains(subType))
                     {
                     {
-                        bool isNeed = fightCfg.needItemId > 0 && (ItemUtilCS.GetItemSubType(fightCfg.needItemId) != subType || ItemUtilCS.GetItemSubType(fightCfg.needItemId) == subType && fightCfg.needItemId == itemID);
-                        if (isNeed || fightCfg.needItemId <= 0)
+                        bool isNeed = fightCfg.NeedItemId > 0 && (ItemUtilCS.GetItemSubType(fightCfg.NeedItemId) != subType || ItemUtilCS.GetItemSubType(fightCfg.NeedItemId) == subType && fightCfg.NeedItemId == itemID);
+                        if (isNeed || fightCfg.NeedItemId <= 0)
                         {
                         {
 
 
                             if (subType < ConstDressUpItemType.TE_SHU)
                             if (subType < ConstDressUpItemType.TE_SHU)
@@ -384,11 +385,11 @@ namespace GFGGame
             List<int> searchList = new List<int>();
             List<int> searchList = new List<int>();
             for (int i = 0; i < _itemDatas.Count; i++)
             for (int i = 0; i < _itemDatas.Count; i++)
             {
             {
-                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(_itemDatas[i]);
+                ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(_itemDatas[i]);
                 if (!includeScene && DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(_itemDatas[i])) continue;
                 if (!includeScene && DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(_itemDatas[i])) continue;
-                if (itemCfg.name.IndexOf(dressSearchTxt) >= 0 && searchList.IndexOf(itemCfg.id) < 0)
+                if (itemCfg.Name.IndexOf(dressSearchTxt) >= 0 && searchList.IndexOf(itemCfg.Id) < 0)
                 {
                 {
-                    searchList.Add(itemCfg.id);
+                    searchList.Add(itemCfg.Id);
                 }
                 }
             }
             }
             return searchList;
             return searchList;
@@ -398,14 +399,14 @@ namespace GFGGame
             List<int> filterList = new List<int>();
             List<int> filterList = new List<int>();
             for (int i = 0; i < _itemDatas.Count; i++)
             for (int i = 0; i < _itemDatas.Count; i++)
             {
             {
-                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(_itemDatas[i]);
+                ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(_itemDatas[i]);
                 if (!includeScene && DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(_itemDatas[i])) continue;
                 if (!includeScene && DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(_itemDatas[i])) continue;
                 bool isTag = selectTagList.Count == 0;
                 bool isTag = selectTagList.Count == 0;
                 if (selectTagList.Count > 0)
                 if (selectTagList.Count > 0)
                 {
                 {
-                    for (int j = 0; j < itemCfg.tagsArr.Length; j++)
+                    for (int j = 0; j < itemCfg.Tags.Count; j++)
                     {
                     {
-                        if (selectTagList.IndexOf(itemCfg.tagsArr[j][0]) >= 0)
+                        if (selectTagList.IndexOf(itemCfg.Tags[j].Name) >= 0)
                         {
                         {
                             isTag = true;
                             isTag = true;
                             break;
                             break;
@@ -413,10 +414,10 @@ namespace GFGGame
                     }
                     }
                 }
                 }
                 if (!isTag) continue;
                 if (!isTag) continue;
-                if (selectRarityList.Count > 0 && selectRarityList.IndexOf(itemCfg.rarity) < 0) continue;
-                if (selectScoreList.Count > 0 && selectScoreList.IndexOf(itemCfg.mainScore) < 0) continue;
+                if (selectRarityList.Count > 0 && selectRarityList.IndexOf(itemCfg.Rarity) < 0) continue;
+                if (selectScoreList.Count > 0 && selectScoreList.IndexOf(itemCfg.MainScore) < 0) continue;
 
 
-                filterList.Add(itemCfg.id);
+                filterList.Add(itemCfg.Id);
             }
             }
             return filterList;
             return filterList;
         }
         }
@@ -427,8 +428,8 @@ namespace GFGGame
             for (int i = 0; i < list.Count; i++)
             for (int i = 0; i < list.Count; i++)
             {
             {
                 bool isSearch = true;
                 bool isSearch = true;
-                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(list[i]);
-                SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(list[i]);
+                ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(list[i]);
+                SuitCfg suitCfg = CommonDataManager.Tables.TblSuitCfg.GetOrDefault(list[i]);
 
 
                 // 散件优先于套装
                 // 散件优先于套装
                 if (type == DressFilterItemType.ALL)
                 if (type == DressFilterItemType.ALL)
@@ -443,7 +444,7 @@ namespace GFGGame
                     }
                     }
                 }
                 }
 
 
-                string name = (type == DressFilterItemType.DressUpItem) ? itemCfg.name : suitCfg.name;
+                string name = (type == DressFilterItemType.DressUpItem) ? itemCfg.Name : suitCfg.Name;
                 for (int j = 0; j < dressSearchTxt.Length; j++)
                 for (int j = 0; j < dressSearchTxt.Length; j++)
                 {
                 {
                     if (name.IndexOf(dressSearchTxt[j]) < 0)
                     if (name.IndexOf(dressSearchTxt[j]) < 0)
@@ -466,8 +467,8 @@ namespace GFGGame
 
 
             for (int i = 0; i < list.Count; i++)
             for (int i = 0; i < list.Count; i++)
             {
             {
-                ItemCfg cfg = ItemCfgArray.Instance.GetCfg(list[i]);
-                SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(list[i]);
+                ItemCfg cfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(list[i]);
+                SuitCfg suitCfg = CommonDataManager.Tables.TblSuitCfg.GetOrDefault(list[i]);
 
 
                 // 散件优先于套装
                 // 散件优先于套装
                 if(type == DressFilterItemType.ALL)
                 if(type == DressFilterItemType.ALL)
@@ -482,7 +483,7 @@ namespace GFGGame
                     }
                     }
                 }
                 }
 
 
-                ItemCfg suitItemCfg = (suitCfg != null) ? ItemCfgArray.Instance.GetCfg(suitCfg.partsArr[0]) : null;
+                ItemCfg suitItemCfg = (suitCfg != null) ? CommonDataManager.Tables.TblItemCfg.GetOrDefault(suitCfg.Parts[0]) : null;
 
 
                 bool isRarity = (type == DressFilterItemType.Suit) ? FilterRarity(suitCfg) : FilterRarity(cfg);
                 bool isRarity = (type == DressFilterItemType.Suit) ? FilterRarity(suitCfg) : FilterRarity(cfg);
 
 
@@ -512,7 +513,7 @@ namespace GFGGame
 
 
                 for (int j = 0; j < selectRarityList.Count; j++)
                 for (int j = 0; j < selectRarityList.Count; j++)
                 {
                 {
-                    if (cfg != null && cfg.rarity == selectRarityList[j])
+                    if (cfg != null && cfg.Rarity == selectRarityList[j])
                     {
                     {
                         isRarity = true;
                         isRarity = true;
                         break;
                         break;
@@ -533,7 +534,7 @@ namespace GFGGame
 
 
                 for (int j = 0; j < selectRarityList.Count; j++)
                 for (int j = 0; j < selectRarityList.Count; j++)
                 {
                 {
-                    if (cfg != null && cfg.rarity == selectRarityList[j])
+                    if (cfg != null && cfg.Rarity == selectRarityList[j])
                     {
                     {
                         isRarity = true;
                         isRarity = true;
                         break;
                         break;
@@ -556,7 +557,7 @@ namespace GFGGame
                 {
                 {
                     for (int j = 0; j < selectScoreList.Count; j++)
                     for (int j = 0; j < selectScoreList.Count; j++)
                     {
                     {
-                        if (cfg.mainScore == selectScoreList[j])
+                        if (cfg.MainScore == selectScoreList[j])
                         {
                         {
                             isScore = true;
                             isScore = true;
                             break;
                             break;
@@ -575,14 +576,14 @@ namespace GFGGame
         private static bool FilterScore(SuitCfg suitCfg)
         private static bool FilterScore(SuitCfg suitCfg)
         {
         {
             bool isScore = false;
             bool isScore = false;
-            ItemCfg cfg = ItemCfgArray.Instance.GetCfg(suitCfg.partsArr[0]);
+            ItemCfg cfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(suitCfg.Parts[0]);
             if (selectScoreList.Count > 0)
             if (selectScoreList.Count > 0)
             {
             {
                 if (cfg != null)
                 if (cfg != null)
                 {
                 {
                     for (int j = 0; j < selectScoreList.Count; j++)
                     for (int j = 0; j < selectScoreList.Count; j++)
                     {
                     {
-                        if (cfg.mainScore == selectScoreList[j])
+                        if (cfg.MainScore == selectScoreList[j])
                         {
                         {
                             isScore = true;
                             isScore = true;
                             break;
                             break;
@@ -611,9 +612,9 @@ namespace GFGGame
                         {
                         {
                             break;
                             break;
                         }
                         }
-                        for (int k = 0; k < cfg.tagsArr.Length; k++)
+                        for (int k = 0; k < cfg.Tags.Count; k++)
                         {
                         {
-                            if (cfg.tagsArr[k][0] == selectTagList[j])
+                            if (cfg.Tags[k].Name == selectTagList[j])
                             {
                             {
                                 isTag = true;
                                 isTag = true;
                                 break;
                                 break;
@@ -648,7 +649,7 @@ namespace GFGGame
         }
         }
         public static void RemoveNewDressItem(int itemId)
         public static void RemoveNewDressItem(int itemId)
         {
         {
-            int subType = ItemCfgArray.Instance.GetCfg(itemId).subType;
+            int subType = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId).SubType;
             if (_newItemdata.ContainsKey(subType) && _newItemdata[subType].IndexOf(itemId) >= 0)
             if (_newItemdata.ContainsKey(subType) && _newItemdata[subType].IndexOf(itemId) >= 0)
             {
             {
                 _newItemdata[subType].Remove(itemId);
                 _newItemdata[subType].Remove(itemId);
@@ -659,17 +660,17 @@ namespace GFGGame
         {
         {
             if (_newItemdata.Count == 0) return false;
             if (_newItemdata.Count == 0) return false;
 
 
-            DressUpMenuItemCfg1 cfg1 = DressUpMenuItemCfg1Array.Instance.GetCfg(menuId);
-            if (cfg1.subMenusArr.Length > 0)//有二级菜单
+            DressUpMenuItemCfg1 cfg1 = CommonDataManager.Tables.TblDressUpMenuItemCfg1.GetOrDefault(menuId);
+            if (cfg1.SubMenus.Count > 0)//有二级菜单
             {
             {
-                foreach (int id2 in cfg1.subMenusArr)
+                foreach (int id2 in cfg1.SubMenus)
                 {
                 {
                     if (CheckIsSecondMenuNew(id2)) return true;
                     if (CheckIsSecondMenuNew(id2)) return true;
                 }
                 }
             }
             }
             else
             else
             {
             {
-                if (_newItemdata.ContainsKey(cfg1.type) && _newItemdata[cfg1.type].Count > 0) return true;
+                if (_newItemdata.ContainsKey(cfg1.Type) && _newItemdata[cfg1.Type].Count > 0) return true;
             }
             }
 
 
             return false;
             return false;
@@ -678,9 +679,9 @@ namespace GFGGame
         public static bool CheckIsSecondMenuNew(int subMenuId)
         public static bool CheckIsSecondMenuNew(int subMenuId)
         {
         {
             if (_newItemdata.Count == 0) return false;
             if (_newItemdata.Count == 0) return false;
-            DressUpMenuItemCfg2 cfg2 = DressUpMenuItemCfg2Array.Instance.GetCfg(subMenuId);
+            DressUpMenuItemCfg2 cfg2 =  CommonDataManager.Tables.TblDressUpMenuItemCfg2.GetOrDefault(subMenuId);
 
 
-            if (_newItemdata.ContainsKey(cfg2.type) && _newItemdata[cfg2.type].Count > 0)
+            if (_newItemdata.ContainsKey(cfg2.Type) && _newItemdata[cfg2.Type].Count > 0)
             {
             {
                 return true;
                 return true;
             }
             }
@@ -722,7 +723,7 @@ namespace GFGGame
                 int lasetIndex = itemIDListInited.Count - 1;
                 int lasetIndex = itemIDListInited.Count - 1;
                 int itemId = itemIDListInited[lasetIndex];
                 int itemId = itemIDListInited[lasetIndex];
                 itemIDListInited.RemoveAt(lasetIndex);
                 itemIDListInited.RemoveAt(lasetIndex);
-                ItemCfgArray.Instance.GetCfg(itemId);
+                CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
             }
             }
         }
         }
 
 
@@ -753,22 +754,22 @@ namespace GFGGame
                 // 除饰品外的散件
                 // 除饰品外的散件
                 for (int i = 0; i < dressUpGuideSubType.Length; i++)
                 for (int i = 0; i < dressUpGuideSubType.Length; i++)
                 {
                 {
-                    itemCfgs.AddRange(ItemCfgArray.Instance.GetCfgsByitemTypeAndsubType(ConstItemType.DRESS_UP, dressUpGuideSubType[i]));
+                    itemCfgs.AddRange( CommonDataManager.Tables.TblItemCfg.GetGroup1ByItemTypeAndSubType(ConstItemType.DRESS_UP, dressUpGuideSubType[i]));
                 }
                 }
 
 
                 // 饰品
                 // 饰品
                 for (int i = 0; i < dressUpGuideAccessoriesType.Length; i++)
                 for (int i = 0; i < dressUpGuideAccessoriesType.Length; i++)
                 {
                 {
-                    itemCfgs.AddRange(ItemCfgArray.Instance.GetCfgsByitemTypeAndsubType(ConstItemType.DRESS_UP, dressUpGuideAccessoriesType[i]));
+                    itemCfgs.AddRange(CommonDataManager.Tables.TblItemCfg.GetGroup1ByItemTypeAndSubType(ConstItemType.DRESS_UP, dressUpGuideAccessoriesType[i]));
                 }
                 }
 
 
                 // 特殊
                 // 特殊
-                ItemTypeCfg[] itemTypeCfg = ItemTypeCfgArray.Instance.dataArray;
-                for (int i = 0; i < itemTypeCfg.Length; i++)
+                var itemTypeCfg = CommonDataManager.Tables.TblItemTypeCfg.DataList;
+                for (int i = 0; i < itemTypeCfg.Count; i++)
                 {
                 {
-                    if (itemTypeCfg[i].type > ConstDressUpItemType.TE_SHU)
+                    if (itemTypeCfg[i].Type > ConstDressUpItemType.TE_SHU)
                     {
                     {
-                        itemCfgs.AddRange(ItemCfgArray.Instance.GetCfgsByitemTypeAndsubType(ConstItemType.DRESS_UP, itemTypeCfg[i].type));
+                        itemCfgs.AddRange(CommonDataManager.Tables.TblItemCfg.GetGroup1ByItemTypeAndSubType(ConstItemType.DRESS_UP, itemTypeCfg[i].Type));
                     }
                     }
                 }
                 }
             }
             }
@@ -777,18 +778,18 @@ namespace GFGGame
             {
             {
                 if(subType == ConstDressUpItemType.TE_SHU)
                 if(subType == ConstDressUpItemType.TE_SHU)
                 {
                 {
-                    ItemTypeCfg[] itemTypeCfg = ItemTypeCfgArray.Instance.dataArray;
-                    for(int i = 0;i< itemTypeCfg.Length; i++)
+                    var itemTypeCfg =  CommonDataManager.Tables.TblItemTypeCfg.DataList;
+                    for(int i = 0;i< itemTypeCfg.Count; i++)
                     {
                     {
-                        if(itemTypeCfg[i].type > ConstDressUpItemType.TE_SHU)
+                        if(itemTypeCfg[i].Type > ConstDressUpItemType.TE_SHU)
                         {
                         {
-                            itemCfgs.AddRange(ItemCfgArray.Instance.GetCfgsByitemTypeAndsubType(ConstItemType.DRESS_UP, itemTypeCfg[i].type));
+                            itemCfgs.AddRange(CommonDataManager.Tables.TblItemCfg.GetGroup1ByItemTypeAndSubType(ConstItemType.DRESS_UP, itemTypeCfg[i].Type));
                         }
                         }
                     }
                     }
                 }
                 }
                 else
                 else
                 {
                 {
-                    itemCfgs = ItemCfgArray.Instance.GetCfgsByitemTypeAndsubType(ConstItemType.DRESS_UP, subType);
+                    itemCfgs = CommonDataManager.Tables.TblItemCfg.GetGroup1ByItemTypeAndSubType(ConstItemType.DRESS_UP, subType);
                 }
                 }
             }
             }
 
 
@@ -796,8 +797,8 @@ namespace GFGGame
             {
             {
                 itemCfgs.Sort((a, b) =>
                 itemCfgs.Sort((a, b) =>
                 {
                 {
-                    bool haveA = CheckHasItem(a.id);
-                    bool haveB = CheckHasItem(b.id);
+                    bool haveA = CheckHasItem(a.Id);
+                    bool haveB = CheckHasItem(b.Id);
 
 
                     if (haveB && !haveA)
                     if (haveB && !haveA)
                     {
                     {
@@ -808,12 +809,12 @@ namespace GFGGame
                         return -1;
                         return -1;
                     }
                     }
 
 
-                    if (a.rarity != b.rarity)
+                    if (a.Rarity != b.Rarity)
                     {
                     {
-                        return a.rarity > b.rarity ? -1 : 1;
+                        return a.Rarity > b.Rarity ? -1 : 1;
                     }
                     }
 
 
-                    return a.res.CompareTo(b.res);
+                    return a.Res.CompareTo(b.Res);
 
 
                 });
                 });
             }
             }
@@ -824,7 +825,7 @@ namespace GFGGame
             {
             {
                 if(CanShow(itemCfgs[i]))
                 if(CanShow(itemCfgs[i]))
                 {
                 {
-                    result.Add(itemCfgs[i].id);
+                    result.Add(itemCfgs[i].Id);
                 }
                 }
             }
             }
 
 
@@ -835,11 +836,11 @@ namespace GFGGame
         public static List<int> defaultID = new List<int> { 10000, 20000, 30000, 50000, 60000 };
         public static List<int> defaultID = new List<int> { 10000, 20000, 30000, 50000, 60000 };
         private static bool CanShow(ItemCfg item)
         private static bool CanShow(ItemCfg item)
         {
         {
-            if (defaultID.Contains(item.id))
+            if (defaultID.Contains(item.Id))
             {
             {
                 return false;
                 return false;
             }
             }
-            return item.isHide <= 0;
+            return item.IsHide <= 0;
         }
         }
 
 
         public static List<int> GetAllDressUpGuideIdListBySubTypes(List<int> subTypes)
         public static List<int> GetAllDressUpGuideIdListBySubTypes(List<int> subTypes)
@@ -852,26 +853,26 @@ namespace GFGGame
                 int subType = subTypes[j];
                 int subType = subTypes[j];
                 if (subType == ConstDressUpItemType.TE_SHU)
                 if (subType == ConstDressUpItemType.TE_SHU)
                 {
                 {
-                    ItemTypeCfg[] itemTypeCfg = ItemTypeCfgArray.Instance.dataArray;
-                    for (int i = 0; i < itemTypeCfg.Length; i++)
+                    var itemTypeCfg =  CommonDataManager.Tables.TblItemTypeCfg.DataList;
+                    for (int i = 0; i < itemTypeCfg.Count; i++)
                     {
                     {
-                        if (itemTypeCfg[i].type > ConstDressUpItemType.TE_SHU)
+                        if (itemTypeCfg[i].Type > ConstDressUpItemType.TE_SHU)
                         {
                         {
-                            itemCfgs.AddRange(ItemCfgArray.Instance.GetCfgsByitemTypeAndsubType(ConstItemType.DRESS_UP, itemTypeCfg[i].type));
+                            itemCfgs.AddRange(CommonDataManager.Tables.TblItemCfg.GetGroup1ByItemTypeAndSubType(ConstItemType.DRESS_UP, itemTypeCfg[i].Type));
                         }
                         }
                     }
                     }
                 }
                 }
                 else
                 else
                 {
                 {
-                    itemCfgs.AddRange(ItemCfgArray.Instance.GetCfgsByitemTypeAndsubType(ConstItemType.DRESS_UP, subType));
+                    itemCfgs.AddRange(CommonDataManager.Tables.TblItemCfg.GetGroup1ByItemTypeAndSubType(ConstItemType.DRESS_UP, subType));
                 }
                 }
             }
             }
 
 
 
 
             itemCfgs.Sort((a, b) =>
             itemCfgs.Sort((a, b) =>
             {
             {
-                bool haveA = CheckHasItem(a.id);
-                bool haveB = CheckHasItem(b.id);
+                bool haveA = CheckHasItem(a.Id);
+                bool haveB = CheckHasItem(b.Id);
 
 
                 if (haveB && !haveA)
                 if (haveB && !haveA)
                 {
                 {
@@ -882,12 +883,12 @@ namespace GFGGame
                     return -1;
                     return -1;
                 }
                 }
 
 
-                if (a.rarity != b.rarity)
+                if (a.Rarity != b.Rarity)
                 {
                 {
-                    return a.rarity > b.rarity ? -1 : 1;
+                    return a.Rarity > b.Rarity ? -1 : 1;
                 }
                 }
 
 
-                return a.res.CompareTo(b.res);
+                return a.Res.CompareTo(b.Res);
 
 
             });
             });
 
 
@@ -895,7 +896,7 @@ namespace GFGGame
             {
             {
                 if (CanShow(itemCfgs[i]))
                 if (CanShow(itemCfgs[i]))
                 {
                 {
-                    result.Add(itemCfgs[i].id);
+                    result.Add(itemCfgs[i].Id);
                 }
                 }
             }
             }
 
 
@@ -906,27 +907,27 @@ namespace GFGGame
         public static async Task GetAllDressUpGuideIdListBySubTypeAsync()
         public static async Task GetAllDressUpGuideIdListBySubTypeAsync()
         {
         {
             isLoading = true;
             isLoading = true;
-            // 除饰品外的散件
-            for (int i = 0; i < dressUpGuideSubType.Length; i++)
-            {
-                await ItemCfgArray.Instance.GetCfgsByitemTypeAndsubTypeAsync(ConstItemType.DRESS_UP, dressUpGuideSubType[i]);
-            }
-
-            // 饰品
-            for (int i = 0; i < dressUpGuideAccessoriesType.Length; i++)
-            {
-                await ItemCfgArray.Instance.GetCfgsByitemTypeAndsubTypeAsync(ConstItemType.DRESS_UP, dressUpGuideAccessoriesType[i]);
-            }
+            // // 除饰品外的散件
+            // for (int i = 0; i < dressUpGuideSubType.Length; i++)
+            // {
+            //     await ItemCfgArray.Instance.GetCfgsByitemTypeAndsubTypeAsync(ConstItemType.DRESS_UP, dressUpGuideSubType[i]);
+            // }
+            //
+            // // 饰品
+            // for (int i = 0; i < dressUpGuideAccessoriesType.Length; i++)
+            // {
+            //     await ItemCfgArray.Instance.GetCfgsByitemTypeAndsubTypeAsync(ConstItemType.DRESS_UP, dressUpGuideAccessoriesType[i]);
+            // }
 
 
             // 特殊
             // 特殊
-            ItemTypeCfg[] itemTypeCfg = ItemTypeCfgArray.Instance.dataArray;
-            for (int i = 0; i < itemTypeCfg.Length; i++)
-            {
-                if (itemTypeCfg[i].type > ConstDressUpItemType.TE_SHU)
-                {
-                    await ItemCfgArray.Instance.GetCfgsByitemTypeAndsubTypeAsync(ConstItemType.DRESS_UP, itemTypeCfg[i].type);
-                }
-            }
+            // ItemTypeCfg[] itemTypeCfg = ItemTypeCfgArray.Instance.dataArray;
+            // for (int i = 0; i < itemTypeCfg.Length; i++)
+            // {
+            //     if (itemTypeCfg[i].type > ConstDressUpItemType.TE_SHU)
+            //     {
+            //         await ItemCfgArray.Instance.GetCfgsByitemTypeAndsubTypeAsync(ConstItemType.DRESS_UP, itemTypeCfg[i].type);
+            //     }
+            // }
             isLoading = false;
             isLoading = false;
             EventAgent.DispatchEvent(ConstMessage.DRESS_PART_LOAD_FINISHED);
             EventAgent.DispatchEvent(ConstMessage.DRESS_PART_LOAD_FINISHED);
         }
         }
@@ -935,11 +936,11 @@ namespace GFGGame
         {
         {
             list.Sort((a, b) =>
             list.Sort((a, b) =>
             {
             {
-                ItemCfg itemA = ItemCfgArray.Instance.GetCfg(a);
-                ItemCfg itemB = ItemCfgArray.Instance.GetCfg(b);
+                ItemCfg itemA = CommonDataManager.Tables.TblItemCfg.GetOrDefault(a);
+                ItemCfg itemB = CommonDataManager.Tables.TblItemCfg.GetOrDefault(b);
 
 
-                bool haveA = CheckHasItem(itemA.id);
-                bool haveB = CheckHasItem(itemB.id);
+                bool haveA = CheckHasItem(itemA.Id);
+                bool haveB = CheckHasItem(itemB.Id);
 
 
                 if (haveB && !haveA)
                 if (haveB && !haveA)
                 {
                 {
@@ -950,19 +951,19 @@ namespace GFGGame
                     return -1;
                     return -1;
                 }
                 }
 
 
-                if (itemA.rarity != itemB.rarity)
+                if (itemA.Rarity != itemB.Rarity)
                 {
                 {
-                    return itemA.rarity > itemB.rarity ? -1 : 1;
+                    return itemA.Rarity > itemB.Rarity ? -1 : 1;
                 }
                 }
 
 
-                return itemA.res.CompareTo(itemB.res);
+                return itemA.Res.CompareTo(itemB.Res);
 
 
             });
             });
         }
         }
 
 
         public static void GetTotalProgress(out int haveCount, out int totalCount)
         public static void GetTotalProgress(out int haveCount, out int totalCount)
         {
         {
-            totalCount = GlobalCfgArray.globalCfg.ClothingPartsCount;
+            totalCount = CommonDataManager.Tables.TblGlobalCfg.ClothingPartsCount;
             haveCount = 0;
             haveCount = 0;
 
 
             // 除饰品外的散件
             // 除饰品外的散件

+ 11 - 10
GameClient/Assets/Game/HotUpdate/Data/DressUpMenuSuitDataManager.cs

@@ -1,5 +1,6 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using ET;
 using ET;
 
 
 namespace GFGGame
 namespace GFGGame
@@ -91,25 +92,25 @@ namespace GFGGame
             if (_suitIDList.Contains(value))
             if (_suitIDList.Contains(value))
             {
             {
                 _suitIDList.Remove(value);
                 _suitIDList.Remove(value);
-                TravelSuitCfg travelSuitCfg = TravelSuitCfgArray.Instance.GetCfgBysuitId(value);
+                TravelSuitCfg travelSuitCfg = CommonDataManager.Tables.TblTravelSuitCfg.GetGroup1BySuitId(value)[0];
                 if (travelSuitCfg != null 
                 if (travelSuitCfg != null 
                     && _travelSuitIDList != null
                     && _travelSuitIDList != null
-                    && _travelSuitIDList.Contains(travelSuitCfg.id))
+                    && _travelSuitIDList.Contains(travelSuitCfg.Id))
                 {
                 {
-                    _travelSuitIDList.Remove(travelSuitCfg.id);
+                    _travelSuitIDList.Remove(travelSuitCfg.Id);
                 }
                 }
                 if (_actionIDList != null 
                 if (_actionIDList != null 
                     && SuitCfgArray.Instance.CheckSuitHasAction(value) 
                     && SuitCfgArray.Instance.CheckSuitHasAction(value) 
                     && _actionIDList.Contains(value))
                     && _actionIDList.Contains(value))
                 {
                 {
-                    _actionIDList.Remove(travelSuitCfg.id);
+                    _actionIDList.Remove(travelSuitCfg.Id);
                 }
                 }
             }
             }
         }
         }
 
 
         public static void GetTotalProgress(out int count, out int totalCount)
         public static void GetTotalProgress(out int count, out int totalCount)
         {
         {
-            totalCount = GlobalCfgArray.globalCfg.suitPartTotalCount;
+            totalCount = CommonDataManager.Tables.TblGlobalCfg.SuitPartTotalCount;
             count = 0;
             count = 0;
             foreach (KeyValuePair<int, int> item in _progressBySuitIdDic)
             foreach (KeyValuePair<int, int> item in _progressBySuitIdDic)
             {
             {
@@ -160,7 +161,7 @@ namespace GFGGame
             int suitId = SuitCfgArray.Instance.GetSuitIdOfItem(itemId);
             int suitId = SuitCfgArray.Instance.GetSuitIdOfItem(itemId);
             if (suitId > 0)
             if (suitId > 0)
             {
             {
-                SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(suitId);
+                SuitCfg suitCfg = CommonDataManager.Tables.TblSuitCfg.GetOrDefault(suitId);
                 int[] itemIds = SuitCfgArray.Instance.GetSuitItems(suitId);
                 int[] itemIds = SuitCfgArray.Instance.GetSuitItems(suitId);
                 int totalCount = itemIds.Length;
                 int totalCount = itemIds.Length;
                 bool hasAll = true;
                 bool hasAll = true;
@@ -272,8 +273,8 @@ namespace GFGGame
         //检查套装是否有动作资源
         //检查套装是否有动作资源
         public static bool CheckSuitHasActionRes(int suitId)
         public static bool CheckSuitHasActionRes(int suitId)
         {
         {
-            var suitCfg = SuitCfgArray.Instance.GetCfg(suitId);
-            return suitCfg != null && ResPathUtil.CheckDressUpAnimationResExist(suitCfg.aniRes);
+            var suitCfg = CommonDataManager.Tables.TblSuitCfg.GetOrDefault(suitId);
+            return suitCfg != null && ResPathUtil.CheckDressUpAnimationResExist(suitCfg.AniRes);
         }
         }
 
 
         private static void InitActionIDList()
         private static void InitActionIDList()
@@ -312,10 +313,10 @@ namespace GFGGame
             {
             {
                 return;
                 return;
             }
             }
-            TravelSuitCfg travelSuitCfg = TravelSuitCfgArray.Instance.GetCfgBysuitId(value);
+            TravelSuitCfg travelSuitCfg = CommonDataManager.Tables.TblTravelSuitCfg.GetGroup1BySuitId(value)[0];
             if (travelSuitCfg != null)
             if (travelSuitCfg != null)
             {
             {
-                _travelSuitIDList.Add(travelSuitCfg.id);
+                _travelSuitIDList.Add(travelSuitCfg.Id);
             }
             }
         }
         }
 
 

+ 5 - 4
GameClient/Assets/Game/HotUpdate/Data/FieldDataManager.cs

@@ -1,4 +1,5 @@
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 
 
 namespace GFGGame
 namespace GFGGame
 {
 {
@@ -100,14 +101,14 @@ namespace GFGGame
         /// <returns></returns>
         /// <returns></returns>
         public List<FieldTaskCfg> GetTaskCfgs()
         public List<FieldTaskCfg> GetTaskCfgs()
         {
         {
-            List<FieldTaskCfg> cfgs = new List<FieldTaskCfg>(FieldTaskCfgArray.Instance.dataArray);
+            List<FieldTaskCfg> cfgs = new List<FieldTaskCfg>( CommonDataManager.Tables.TblFieldTaskCfg.DataList);
             cfgs.Sort((FieldTaskCfg a, FieldTaskCfg b) =>
             cfgs.Sort((FieldTaskCfg a, FieldTaskCfg b) =>
             {
             {
-                int stateA = GetTaskState(a.id) == 1 ? 1 : -1;
-                int stateB = GetTaskState(b.id) == 1 ? 1 : -1;
+                int stateA = GetTaskState(a.Id) == 1 ? 1 : -1;
+                int stateB = GetTaskState(b.Id) == 1 ? 1 : -1;
                 if (stateA > stateB) return -1;
                 if (stateA > stateB) return -1;
                 if (stateB > stateA) return 1;
                 if (stateB > stateA) return 1;
-                return GetTaskState(a.id).CompareTo(GetTaskState(b.id));
+                return GetTaskState(a.Id).CompareTo(GetTaskState(b.Id));
 
 
             });
             });
             return cfgs;
             return cfgs;

+ 9 - 8
GameClient/Assets/Game/HotUpdate/Data/FieldWorkDataManager.cs

@@ -1,6 +1,7 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
+using cfg.GfgCfg;
 using ET;
 using ET;
 using UnityEngine;
 using UnityEngine;
 using UI.FieldWork;
 using UI.FieldWork;
@@ -88,8 +89,8 @@ namespace GFGGame
             com.m_txtFightScore.SetVar("value", fightScore.ToString()).FlushVars(); ;
             com.m_txtFightScore.SetVar("value", fightScore.ToString()).FlushVars(); ;
             com.m_txtTagScore.text = FightDataManager.Instance.GetTagsScore(roleDatas[index].itemList, roleDatas[index].tags).ToString();
             com.m_txtTagScore.text = FightDataManager.Instance.GetTagsScore(roleDatas[index].itemList, roleDatas[index].tags).ToString();
             int count = ArenaDataManager.Instance.GetTagsCount(roleDatas[index].itemList, roleDatas[index].tags);
             int count = ArenaDataManager.Instance.GetTagsCount(roleDatas[index].itemList, roleDatas[index].tags);
-            com.m_c1.selectedIndex = Math.Min(count, ArenaTagCfgArray.Instance.dataArray.Length);
-            com.m_c3.selectedIndex = roleDatas[index].tags.Length > 0 ? 1 : 0;
+            com.m_c1.selectedIndex = Math.Min(count, CommonDataManager.Tables.TblArenaTagCfg.DataList.Count);
+            com.m_c3.selectedIndex = roleDatas[index].tags.Count > 0 ? 1 : 0;
             UpdateFightScore(com.m_comFightScore.target, roleDatas);
             UpdateFightScore(com.m_comFightScore.target, roleDatas);
 
 
                 ItemUtil.UpdateTag(com.m_comTag, roleDatas[index].tags[0]);
                 ItemUtil.UpdateTag(com.m_comTag, roleDatas[index].tags[0]);
@@ -167,8 +168,8 @@ namespace GFGGame
         {
         {
             float abrasion = 0;
             float abrasion = 0;
             float UseNum = 0;
             float UseNum = 0;
-            float cardTimes = CimbingTowerCfgArray.Instance.dataArray[0].UseLimit;
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(cardID);
+            float cardTimes = CommonDataManager.Tables.TblCimbingTowerCfg.DataList[0].UseLimit;
+            ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(cardID);
             if(itemCfg == null)
             if(itemCfg == null)
             {
             {
                 return 100;
                 return 100;
@@ -242,8 +243,8 @@ namespace GFGGame
         }
         }
         public bool CheckLevelPass(int LevelID)
         public bool CheckLevelPass(int LevelID)
         {
         {
-            CimbingTowerLevelCfg levelCfg = CimbingTowerLevelCfgArray.Instance.dataArray[0];
-            if(LevelID == levelCfg.id)
+            CimbingTowerLevelCfg levelCfg = CommonDataManager.Tables.TblCimbingTowerLevelCfg.DataList[0];
+            if(LevelID == levelCfg.Id)
             {
             {
                 return true;
                 return true;
             }
             }
@@ -272,7 +273,7 @@ namespace GFGGame
         public List<CardData> SortCardList(List<CardData> cardList)
         public List<CardData> SortCardList(List<CardData> cardList)
         {
         {
             List<CardData> card = new List<CardData>();
             List<CardData> card = new List<CardData>();
-            int limitNum = CimbingTowerCfgArray.Instance.dataArray[0].UseLimit;
+            int limitNum = CommonDataManager.Tables.TblCimbingTowerCfg.DataList[0].UseLimit;
             card = cardList.ToList();
             card = cardList.ToList();
             for(int i = 0;i<card.Count;i++)
             for(int i = 0;i<card.Count;i++)
             {
             {
@@ -319,7 +320,7 @@ namespace GFGGame
             int roundId = 0;
             int roundId = 0;
             int currentTime = SkillBeginTime.FIGHT_BEGIN;
             int currentTime = SkillBeginTime.FIGHT_BEGIN;
             GetSkillScore(FightRoleType.MINE, roundIndex, currentTime, roundId, mainScore, cardId, skillLvs, roundTime, ref score);
             GetSkillScore(FightRoleType.MINE, roundIndex, currentTime, roundId, mainScore, cardId, skillLvs, roundTime, ref score);
-            for (int i = 0; i < FightScoreCfgArray.Instance.dataArray.Length; i++)
+            for (int i = 0; i < CommonDataManager.Tables.TblFightScoreCfg.DataList.Count; i++)
             {
             {
                 roundId++;
                 roundId++;
                 currentTime = SkillBeginTime.ERVERY_ROUND_BEGIN;
                 currentTime = SkillBeginTime.ERVERY_ROUND_BEGIN;

+ 10 - 9
GameClient/Assets/Game/HotUpdate/Data/FightDataManager.cs

@@ -1,5 +1,6 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using UnityEngine;
 using UnityEngine;
 
 
 namespace GFGGame
 namespace GFGGame
@@ -46,11 +47,11 @@ namespace GFGGame
             if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena || InstanceZonesDataManager.FightScene == ConstInstanceZonesType.FieldWork)
             if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena || InstanceZonesDataManager.FightScene == ConstInstanceZonesType.FieldWork)
             {
             {
                 int tagCount = ArenaDataManager.Instance.GetTagsCount(roleData.itemList, roleData.tags); ;
                 int tagCount = ArenaDataManager.Instance.GetTagsCount(roleData.itemList, roleData.tags); ;
-                tagCount = Math.Min(ArenaTagCfgArray.Instance.dataArray.Length, tagCount);
+                tagCount = Math.Min( CommonDataManager.Tables.TblArenaTagCfg.DataList.Count , tagCount);
                 float addition = 0;
                 float addition = 0;
                 if (tagCount > 0)
                 if (tagCount > 0)
                 {
                 {
-                    int additionCfg = ArenaTagCfgArray.Instance.GetCfg(tagCount).addition;
+                    int additionCfg = CommonDataManager.Tables.TblArenaTagCfg.GetOrDefault(tagCount).Addition;
                     addition = additionCfg / 10000f;
                     addition = additionCfg / 10000f;
                 }
                 }
                 score = score * (1 + addition);
                 score = score * (1 + addition);
@@ -170,7 +171,7 @@ namespace GFGGame
         /// <param name="itemList">服装列表</param>
         /// <param name="itemList">服装列表</param>
         /// <param name="tags">标签</param>
         /// <param name="tags">标签</param>
         /// <returns></returns>
         /// <returns></returns>
-        public int GetTagsScore(List<int> itemList, string[] tags)
+        public int GetTagsScore(List<int> itemList, List<string> tags)
         {
         {
             int score = 0;
             int score = 0;
             for (int i = 0; i < itemList.Count; i++)
             for (int i = 0; i < itemList.Count; i++)
@@ -238,7 +239,7 @@ namespace GFGGame
         /// <returns></returns>
         /// <returns></returns>
         public List<CardData> SortCardList(List<CardData> cardList, double itemSum, int scoreType)
         public List<CardData> SortCardList(List<CardData> cardList, double itemSum, int scoreType)
         {
         {
-            int baseScore = RoleLevelCfgArray.Instance.GetCfg(RoleDataManager.lvl).baseScore;
+            int baseScore = CommonDataManager.Tables.TblRoleLevelCfg.GetOrDefault(RoleDataManager.lvl).BaseScore;
             int leagueSkillScore = LeagueDataManager.Instance.GetAllSkillScore(scoreType);
             int leagueSkillScore = LeagueDataManager.Instance.GetAllSkillScore(scoreType);
             cardList.Sort((CardData a, CardData b) =>
             cardList.Sort((CardData a, CardData b) =>
             {
             {
@@ -262,7 +263,7 @@ namespace GFGGame
                     return -1;
                     return -1;
                 }
                 }
 
 
-                return string.Compare(a.itemCfg.res, b.itemCfg.res);
+                return string.Compare(a.itemCfg.Res, b.itemCfg.Res);
             });
             });
             return cardList;
             return cardList;
         }
         }
@@ -281,14 +282,14 @@ namespace GFGGame
             float skillScore = 0;
             float skillScore = 0;
             if (skillLvs.Count == 0) return (long)skillScore;
             if (skillLvs.Count == 0) return (long)skillScore;
             float skillBaseScore = (long)itemScoreSum + cardScore + baseScore + leagueSkillScore;
             float skillBaseScore = (long)itemScoreSum + cardScore + baseScore + leagueSkillScore;
-            List<PassivitySkillCfg> skillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardId);
+            List<PassivitySkillCfg> skillCfgs = CommonDataManager.Tables.TblPassivitySkillCfg.GetGroup1ByCardId(cardId);
             //容错处理,防止两个长度不一致
             //容错处理,防止两个长度不一致
             var count = Mathf.Min(skillLvs.Count, skillCfgs.Count);
             var count = Mathf.Min(skillLvs.Count, skillCfgs.Count);
             for (int j = 0; j < count; j++)
             for (int j = 0; j < count; j++)
             {
             {
-                PassivitySkillLvlCfg skillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLvs[j], skillCfgs[j].skillId);
+                PassivitySkillLvlCfg skillLvlCfg = CommonDataManager.Tables.TblPassivitySkillLvlCfg.Get(skillLvs[j], skillCfgs[j].SkillId);
                 if (skillLvlCfg == null) continue;
                 if (skillLvlCfg == null) continue;
-                skillScore += skillBaseScore * ((float)skillLvlCfg.fightPowerParam / 10000f);
+                skillScore += skillBaseScore * ((float)skillLvlCfg.FightPowerParam / 10000f);
             }
             }
             // ET.Log.Debug("cardId:" + cardId);
             // ET.Log.Debug("cardId:" + cardId);
             // ET.Log.Debug("skillScore:" + skillScore);
             // ET.Log.Debug("skillScore:" + skillScore);
@@ -343,7 +344,7 @@ namespace GFGGame
             int currentTime = SkillBeginTime.FIGHT_BEGIN;
             int currentTime = SkillBeginTime.FIGHT_BEGIN;
             GetSkillScore(FightRoleType.MINE, roundIndex, currentTime, roundId, mainScore, cardId, skillLvs, roundTime, ref score, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore);
             GetSkillScore(FightRoleType.MINE, roundIndex, currentTime, roundId, mainScore, cardId, skillLvs, roundTime, ref score, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore);
             GetSkillScore(FightRoleType.TAEGET, roundIndex, currentTime, roundId, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore, mainScore, cardId, skillLvs, roundTime, ref score);
             GetSkillScore(FightRoleType.TAEGET, roundIndex, currentTime, roundId, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore, mainScore, cardId, skillLvs, roundTime, ref score);
-            for (int i = 0; i < FightScoreCfgArray.Instance.dataArray.Length; i++)
+            for (int i = 0; i < CommonDataManager.Tables.TblFightScoreCfg.DataList.Count; i++)
             {
             {
                 roundId++;
                 roundId++;
                 currentTime = SkillBeginTime.ERVERY_ROUND_BEGIN;
                 currentTime = SkillBeginTime.ERVERY_ROUND_BEGIN;

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

@@ -29,7 +29,7 @@ namespace GFGGame
             get
             get
             {
             {
                 var t = GameGlobal.myNumericComponent.GetAsInt(ET.NumericType.MonthCardFriendPowerAdd);
                 var t = GameGlobal.myNumericComponent.GetAsInt(ET.NumericType.MonthCardFriendPowerAdd);
-                return GlobalCfgArray.globalCfg.maxGetPowerCount + t * GlobalCfgArray.globalCfg.onceGivePowerCount;
+                return CommonDataManager.Tables.TblGlobalCfg.MaxGetPowerCount + t * CommonDataManager.Tables.TblGlobalCfg.OnceGivePowerCount;
             }
             }
         }
         }
 
 

+ 66 - 65
GameClient/Assets/Game/HotUpdate/Data/FunctionOpenDataManager.cs

@@ -1,6 +1,7 @@
 using ET;
 using ET;
 using FairyGUI;
 using FairyGUI;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using UnityEngine;
 using UnityEngine;
 
 
 namespace GFGGame
 namespace GFGGame
@@ -15,30 +16,30 @@ namespace GFGGame
         public bool CheckIsFunOpenById(string functionId, bool showTips = true)
         public bool CheckIsFunOpenById(string functionId, bool showTips = true)
         {
         {
             string name = ViewManager.GetName(functionId);
             string name = ViewManager.GetName(functionId);
-            //FunctionOpenCfg cfg = FunctionOpenCfgArray.Instance.GetCfg(name);
-            // if (cfg == null)
-            // {
-            //     // Debug.LogWarning("g功能.xlsx  功能开启_FunctionOpenCfg  未添加  " + viewName + "  的配置");
-            //     return true;//未配置功能开启的暂时默认开启
-            // }
-            // if (cfg.parentId != null && cfg.parentId != "")
-            // {
-            //     //先检查父功能是否开启
-            //     if (!CheckIsFunOpenById(cfg.parentId, showTips))
-            //     {
-            //         return false;
-            //     }
-            // }
-            //
-            // if (!CheckIsChapterFunOpen(cfg, showTips)) return false;
-            // if (!CheckIsLvFunOpen(cfg, showTips)) return false;
-            // if (!CheckIsSpecialFunOpen(cfg, showTips)) return false;
+            FunctionOpenCfg cfg = CommonDataManager.Tables.TblFunctionOpenCfg.GetOrDefault(name);
+            if (cfg == null)
+            {
+                // Debug.LogWarning("g功能.xlsx  功能开启_FunctionOpenCfg  未添加  " + viewName + "  的配置");
+                return true;//未配置功能开启的暂时默认开启
+            }
+            if (cfg.ParentId != null && cfg.ParentId != "")
+            {
+                //先检查父功能是否开启
+                if (!CheckIsFunOpenById(cfg.ParentId, showTips))
+                {
+                    return false;
+                }
+            }
+
+            if (!CheckIsChapterFunOpen(cfg, showTips)) return false;
+            if (!CheckIsLvFunOpen(cfg, showTips)) return false;
+            if (!CheckIsSpecialFunOpen(cfg, showTips)) return false;
             return true;
             return true;
         }
         }
 
 
         public string GetOpenTips(string functionId)
         public string GetOpenTips(string functionId)
         {
         {
-            FunctionOpenCfg cfg = FunctionOpenCfgArray.Instance.GetCfg(functionId);
+            FunctionOpenCfg cfg = CommonDataManager.Tables.TblFunctionOpenCfg.GetOrDefault(functionId);
             if (cfg == null)
             if (cfg == null)
             {
             {
                 return "";
                 return "";
@@ -64,18 +65,18 @@ namespace GFGGame
         /// </summary>
         /// </summary>
         public void CheckHasChapterFunOpen(int storyLevelCfgId)
         public void CheckHasChapterFunOpen(int storyLevelCfgId)
         {
         {
-            FunctionOpenCfg[] cfgs = FunctionOpenCfgArray.Instance.dataArray;
+           List<FunctionOpenCfg> cfgs = CommonDataManager.Tables.TblFunctionOpenCfg.DataList;
             List<string> listCfg = new List<string>();
             List<string> listCfg = new List<string>();
-            for (int i = 0; i < cfgs.Length; i++)
+            for (int i = 0; i < cfgs.Count; i++)
             {
             {
-                if (cfgs[i].id == typeof(ArenaView).Name && cfgs[i].storyLevelId == storyLevelCfgId) ArenaDataManager.Instance.ReqArenaInfo();
+                if (cfgs[i].Id == typeof(ArenaView).Name && cfgs[i].StoryLevelId == storyLevelCfgId) ArenaDataManager.Instance.ReqArenaInfo();
 
 
-                if (cfgs[i].show == 0) continue;
-                if (cfgs[i].special > 0) continue;
-                if (cfgs[i].lv > 0) continue;
-                if (cfgs[i].storyLevelId != storyLevelCfgId || !CheckIsChapterFunOpen(cfgs[i], false)) continue;
+                if (cfgs[i].Show == 0) continue;
+                if (cfgs[i].Special > 0) continue;
+                if (cfgs[i].Lv > 0) continue;
+                if (cfgs[i].StoryLevelId != storyLevelCfgId || !CheckIsChapterFunOpen(cfgs[i], false)) continue;
                 // if (CheckIsLvFunOpen(cfgs[i], false)) continue;
                 // if (CheckIsLvFunOpen(cfgs[i], false)) continue;
-                listCfg.Add(cfgs[i].id);
+                listCfg.Add(cfgs[i].Id);
 
 
             }
             }
             if (listCfg.Count > 0)
             if (listCfg.Count > 0)
@@ -92,18 +93,18 @@ namespace GFGGame
         public void CheckHasLvFunOpen(int lv, int oldLv)
         public void CheckHasLvFunOpen(int lv, int oldLv)
         {
         {
 
 
-            FunctionOpenCfg[] cfgs = FunctionOpenCfgArray.Instance.dataArray;
+            List<FunctionOpenCfg> cfgs = CommonDataManager.Tables.TblFunctionOpenCfg.DataList ;
             List<string> listCfg = new List<string>();
             List<string> listCfg = new List<string>();
-            for (int i = 0; i < cfgs.Length; i++)
+            for (int i = 0; i < cfgs.Count; i++)
             {
             {
-                if (cfgs[i].id == typeof(ArenaView).Name && oldLv < cfgs[i].lv && cfgs[i].lv == lv) ArenaDataManager.Instance.ReqArenaInfo();
-                if ((cfgs[i].special > 0)) continue;
-                if (cfgs[i].show == 0) continue;
+                if (cfgs[i].Id == typeof(ArenaView).Name && oldLv < cfgs[i].Lv && cfgs[i].Lv == lv) ArenaDataManager.Instance.ReqArenaInfo();
+                if ((cfgs[i].Special > 0)) continue;
+                if (cfgs[i].Show == 0) continue;
                 if (lv <= 0) continue;
                 if (lv <= 0) continue;
-                if (cfgs[i].storyLevelId > 0) continue;
-                if (oldLv >= cfgs[i].lv || lv < cfgs[i].lv || !CheckIsLvFunOpen(cfgs[i], false)) continue;
+                if (cfgs[i].StoryLevelId > 0) continue;
+                if (oldLv >= cfgs[i].Lv || lv < cfgs[i].Lv || !CheckIsLvFunOpen(cfgs[i], false)) continue;
                 // if (CheckIsChapterFunOpen(cfgs[i], false)) continue;
                 // if (CheckIsChapterFunOpen(cfgs[i], false)) continue;
-                listCfg.Add(cfgs[i].id);
+                listCfg.Add(cfgs[i].Id);
 
 
 
 
             }
             }
@@ -118,19 +119,19 @@ namespace GFGGame
             {
             {
                 await StorageSProxy.ReqGetClientValues();
                 await StorageSProxy.ReqGetClientValues();
             }
             }
-            FunctionOpenCfg[] cfgs = FunctionOpenCfgArray.Instance.dataArray;
+            List<FunctionOpenCfg> cfgs = CommonDataManager.Tables.TblFunctionOpenCfg.DataList ;
             List<string> listCfg = new List<string>();
             List<string> listCfg = new List<string>();
-            for (int i = 0; i < cfgs.Length; i++)
-            {
-                if (cfgs[i].id == typeof(ArenaView).Name) ArenaDataManager.Instance.ReqArenaInfo();
-                if (cfgs[i].show == 0) continue;
-                if (cfgs[i].storyLevelId > 0) continue;
-                if (cfgs[i].lv > 0) continue;
-                if ((cfgs[i].special <= 0)) continue;
-                if (StorageDataManager.Instance.GetStorageValue(ConstStorageId.FUNCTION_OPEN + cfgs[i].index) == 1) continue;
+            for (int i = 0; i < cfgs.Count; i++)
+            {
+                if (cfgs[i].Id == typeof(ArenaView).Name) ArenaDataManager.Instance.ReqArenaInfo();
+                if (cfgs[i].Show == 0) continue;
+                if (cfgs[i].StoryLevelId > 0) continue;
+                if (cfgs[i].Lv > 0) continue;
+                if ((cfgs[i].Special <= 0)) continue;
+                if (StorageDataManager.Instance.GetStorageValue(ConstStorageId.FUNCTION_OPEN + cfgs[i].Index) == 1) continue;
                 if (CheckIsSpecialFunOpen(cfgs[i], false))
                 if (CheckIsSpecialFunOpen(cfgs[i], false))
                 {
                 {
-                    listCfg.Add(cfgs[i].id);
+                    listCfg.Add(cfgs[i].Id);
                 }
                 }
             }
             }
             if (listCfg.Count > 0)
             if (listCfg.Count > 0)
@@ -143,17 +144,17 @@ namespace GFGGame
         private bool CheckIsChapterFunOpen(FunctionOpenCfg cfg, bool showTips = true)
         private bool CheckIsChapterFunOpen(FunctionOpenCfg cfg, bool showTips = true)
         {
         {
 
 
-            if (cfg.storyLevelId <= 0)
+            if (cfg.StoryLevelId <= 0)
             {
             {
                 return true;
                 return true;
             }
             }
-            if (InstanceZonesDataManager.CheckLevelPass(cfg.storyLevelId))
+            if (InstanceZonesDataManager.CheckLevelPass(cfg.StoryLevelId))
             {
             {
                 return true;
                 return true;
             }
             }
-            StoryLevelCfg storyLevelCfg = StoryLevelCfgArray.Instance.GetCfg(cfg.storyLevelId);
-            StoryChapterCfg storyChapterCfg = StoryChapterCfgArray.Instance.GetCfg(storyLevelCfg.chapterId);
-            if (showTips) PromptController.Instance.ShowFloatTextPrompt(string.Format("通关主线{0}-{1}解锁", storyChapterCfg.order, storyLevelCfg.order));
+            StoryLevelCfg storyLevelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(cfg.StoryLevelId);
+            StoryChapterCfg storyChapterCfg = CommonDataManager.Tables.TblStoryChapterCfg.GetOrDefault(storyLevelCfg.ChapterId);
+            if (showTips) PromptController.Instance.ShowFloatTextPrompt(string.Format("通关主线{0}-{1}解锁", storyChapterCfg.Order, storyLevelCfg.Order));
             return false;
             return false;
         }
         }
 
 
@@ -162,21 +163,21 @@ namespace GFGGame
         private bool CheckIsLvFunOpen(FunctionOpenCfg cfg, bool showTips = true)
         private bool CheckIsLvFunOpen(FunctionOpenCfg cfg, bool showTips = true)
         {
         {
             //GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl)
             //GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl)
-            if (RoleDataManager.lvl >= cfg.lv)
+            if (RoleDataManager.lvl >= cfg.Lv)
             {
             {
                 return true;
                 return true;
             }
             }
-            if (showTips) PromptController.Instance.ShowFloatTextPrompt(string.Format("角色达到{0}级解锁", cfg.lv));
+            if (showTips) PromptController.Instance.ShowFloatTextPrompt(string.Format("角色达到{0}级解锁", cfg.Lv));
             return false;
             return false;
         }
         }
 
 
         private bool CheckIsSpecialFunOpen(FunctionOpenCfg cfg, bool showTips = true)
         private bool CheckIsSpecialFunOpen(FunctionOpenCfg cfg, bool showTips = true)
         {
         {
-            if (cfg.special <= 0) return true;
-            if (cfg.id == typeof(ClothingListView).Name)//服装升级获取第一套【天衣】套装后开启
+            if (cfg.Special <= 0) return true;
+            if (cfg.Id == typeof(ClothingListView).Name)//服装升级获取第一套【天衣】套装后开启
             {
             {
 
 
-                if (StorageDataManager.Instance.GetStorageValue(ConstStorageId.FUNCTION_OPEN + cfg.index) == 1) return true;
+                if (StorageDataManager.Instance.GetStorageValue(ConstStorageId.FUNCTION_OPEN + cfg.Index) == 1) return true;
 
 
                 List<int> _currentList3 = DressUpMenuSuitDataManager.GetSuitIDList();
                 List<int> _currentList3 = DressUpMenuSuitDataManager.GetSuitIDList();
                 if (_currentList3.Count == 0)
                 if (_currentList3.Count == 0)
@@ -185,9 +186,9 @@ namespace GFGGame
                     return false;
                     return false;
                 }
                 }
                 _currentList3 = SuitUtil.SortSuitListByHighRarity(_currentList3);
                 _currentList3 = SuitUtil.SortSuitListByHighRarity(_currentList3);
-                if (SuitCfgArray.Instance.GetCfg(_currentList3[0]).rarity == ConstDressRarity.Rarity_TIANYI)
+                if ( CommonDataManager.Tables.TblSuitCfg.GetOrDefault(_currentList3[0]).Rarity == ConstDressRarity.Rarity_TIANYI)
                 {
                 {
-                    StorageSProxy.ReqSetClientValue(ConstStorageId.FUNCTION_OPEN + cfg.index, 1).Coroutine();
+                    StorageSProxy.ReqSetClientValue(ConstStorageId.FUNCTION_OPEN + cfg.Index, 1).Coroutine();
                     return true;
                     return true;
                 }
                 }
                 else
                 else
@@ -203,29 +204,29 @@ namespace GFGGame
         private string GetChapterOpenTips(FunctionOpenCfg cfg)
         private string GetChapterOpenTips(FunctionOpenCfg cfg)
         {
         {
             string strTips = "";
             string strTips = "";
-            if (cfg.storyLevelId > 0)
+            if (cfg.StoryLevelId > 0)
             {
             {
-                StoryLevelCfg storyLevelCfg = StoryLevelCfgArray.Instance.GetCfg(cfg.storyLevelId);
-                StoryChapterCfg storyChapterCfg = StoryChapterCfgArray.Instance.GetCfg(storyLevelCfg.chapterId);
-                strTips = string.Format("通关主线{0}-{1}解锁", storyChapterCfg.order, storyLevelCfg.order);
+                StoryLevelCfg storyLevelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(cfg.StoryLevelId);
+                StoryChapterCfg storyChapterCfg = CommonDataManager.Tables.TblStoryChapterCfg.GetOrDefault(storyLevelCfg.ChapterId);
+                strTips = string.Format("通关主线{0}-{1}解锁", storyChapterCfg.Order, storyLevelCfg.Order);
             }
             }
             return strTips;
             return strTips;
         }
         }
         private string GetLvTips(FunctionOpenCfg cfg)
         private string GetLvTips(FunctionOpenCfg cfg)
         {
         {
             string strTips = "";
             string strTips = "";
-            if (cfg.lv > 0)
+            if (cfg.Lv > 0)
             {
             {
-                strTips = string.Format("角色达到{0}级解锁", cfg.lv);
+                strTips = string.Format("角色达到{0}级解锁", cfg.Lv);
             }
             }
             return strTips;
             return strTips;
         }
         }
         private string GetChapterLvTips(FunctionOpenCfg cfg)
         private string GetChapterLvTips(FunctionOpenCfg cfg)
         {
         {
             string strTips = "";
             string strTips = "";
-            if (cfg.special > 0)
+            if (cfg.Special > 0)
             {
             {
-                if (cfg.id == typeof(ClothingListView).Name)//服装升级获取第一套【天衣】套装后开启
+                if (cfg.Id == typeof(ClothingListView).Name)//服装升级获取第一套【天衣】套装后开启
                 {
                 {
                     strTips = string.Format("收集一套“天衣”套装后解锁");
                     strTips = string.Format("收集一套“天衣”套装后解锁");
                 }
                 }

+ 3 - 2
GameClient/Assets/Game/HotUpdate/Data/GuideDataManager.cs

@@ -1,5 +1,6 @@
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
+using cfg.GfgCfg;
 using ET;
 using ET;
 using FairyGUI;
 using FairyGUI;
 
 
@@ -72,10 +73,10 @@ namespace GFGGame
 
 
         public static int IsGuideFinish(string guideKey)
         public static int IsGuideFinish(string guideKey)
         {
         {
-            GuideCfg cfg = GuideCfgArray.Instance.GetCfg(guideKey);
+            GuideCfg cfg = CommonDataManager.Tables.TblGuideCfg.GetOrDefault(guideKey);
             if (GameGlobal.skipGuide || cfg == null) return 1;
             if (GameGlobal.skipGuide || cfg == null) return 1;
 
 
-            return StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_GUIDE + cfg.id);
+            return StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_GUIDE + cfg.Id);
 
 
         }
         }
 
 

+ 53 - 52
GameClient/Assets/Game/HotUpdate/Data/InstanceZonesDataManager.cs

@@ -1,5 +1,6 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using UnityEngine;
 using UnityEngine;
 
 
 namespace GFGGame
 namespace GFGGame
@@ -26,7 +27,7 @@ namespace GFGGame
         //是否战斗结算界面关闭
         //是否战斗结算界面关闭
         public static bool isFightResultHide = false;
         public static bool isFightResultHide = false;
 
 
-        public static string[] currentFightTags;
+        public static List<string> currentFightTags;
 
 
         private static int _currentLevelCfgId;
         private static int _currentLevelCfgId;
 
 
@@ -41,19 +42,19 @@ namespace GFGGame
             set
             set
             {
             {
                 _currentLevelCfgId = value;
                 _currentLevelCfgId = value;
-                var levelCfg = StoryLevelCfgArray.Instance.GetCfg(_currentLevelCfgId);
-                if (levelCfg.type == ConstInstanceZonesType.Story)
+                var levelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(_currentLevelCfgId);
+                if (levelCfg.Type == ConstInstanceZonesType.Story)
                 {
                 {
                     MainStoryDataManager.currentLevelCfgId = _currentLevelCfgId;
                     MainStoryDataManager.currentLevelCfgId = _currentLevelCfgId;
                 }
                 }
-                if (string.IsNullOrEmpty(levelCfg.fightID))
+                if (string.IsNullOrEmpty(levelCfg.FightID))
                 {
                 {
                     currentFightTags = null;
                     currentFightTags = null;
                 }
                 }
                 else
                 else
                 {
                 {
-                    StoryFightCfg storyFightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
-                    currentFightTags = storyFightCfg.needTagsArr;
+                    StoryFightCfg storyFightCfg = CommonDataManager.Tables.TblStoryFightCfg.GetOrDefault(int.Parse(levelCfg.FightID));
+                    currentFightTags = storyFightCfg.NeedTags;
                 }
                 }
             }
             }
         }
         }
@@ -63,8 +64,8 @@ namespace GFGGame
         {
         {
             get
             get
             {
             {
-                var levelCfg = StoryLevelCfgArray.Instance.GetCfg(_currentLevelCfgId);
-                return levelCfg.order;
+                var levelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(_currentLevelCfgId);
+                return levelCfg.Order;
             }
             }
         }
         }
         private static FightData _roleData = new FightData();
         private static FightData _roleData = new FightData();
@@ -89,7 +90,7 @@ namespace GFGGame
         {
         {
             _roleData.name = RoleDataManager.roleName;
             _roleData.name = RoleDataManager.roleName;
             _roleData.scoreType = InstanceZonesDataManager.currentScoreType;
             _roleData.scoreType = InstanceZonesDataManager.currentScoreType;
-            _roleData.baseScore = RoleLevelCfgArray.Instance.GetCfg(RoleDataManager.lvl).baseScore;
+            _roleData.baseScore = CommonDataManager.Tables.TblRoleLevelCfg.GetOrDefault(RoleDataManager.lvl).BaseScore;
             if(_roleData.scoreType != 0)
             if(_roleData.scoreType != 0)
                 _roleData.leagueSkillScore = LeagueDataManager.Instance.GetAllSkillScore(_roleData.scoreType);
                 _roleData.leagueSkillScore = LeagueDataManager.Instance.GetAllSkillScore(_roleData.scoreType);
             _roleData.cardId = InstanceZonesDataManager.currentCardId; ;//词牌id
             _roleData.cardId = InstanceZonesDataManager.currentCardId; ;//词牌id
@@ -97,11 +98,11 @@ namespace GFGGame
             CardData cardData = CardDataManager.GetCardDataById(_roleData.cardId);
             CardData cardData = CardDataManager.GetCardDataById(_roleData.cardId);
             _roleData.cardScore = _roleData.cardId <= 0 || cardData == null ? 0 : cardData.scores[_roleData.scoreType];//词牌对应主题的属性分数
             _roleData.cardScore = _roleData.cardId <= 0 || cardData == null ? 0 : cardData.scores[_roleData.scoreType];//词牌对应主题的属性分数
 
 
-            StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
-            if (levelCfg != null && !string.IsNullOrEmpty(levelCfg.fightID))
+            StoryLevelCfg levelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(InstanceZonesDataManager.currentLevelCfgId);
+            if (levelCfg != null && !string.IsNullOrEmpty(levelCfg.FightID))
             {
             {
-                StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
-                _roleData.tags = fightCfg.needTagsArr;////本次战斗要求的标签
+                StoryFightCfg fightCfg = CommonDataManager.Tables.TblStoryFightCfg.GetOrDefault(int.Parse(levelCfg.FightID));
+                _roleData.tags = fightCfg.NeedTags;////本次战斗要求的标签
             }
             }
 
 
             if (_roleData.cardId > 0)
             if (_roleData.cardId > 0)
@@ -122,29 +123,29 @@ namespace GFGGame
         public static FightData GetFightTargetData()
         public static FightData GetFightTargetData()
         {
         {
 
 
-            StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
-            StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
-            _targetData.name = fightCfg.targetName;
+            StoryLevelCfg levelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(InstanceZonesDataManager.currentLevelCfgId);
+            StoryFightCfg fightCfg = CommonDataManager.Tables.TblStoryFightCfg.GetOrDefault(int.Parse(levelCfg.FightID));
+            _targetData.name = fightCfg.TargetName;
             _targetData.scoreType = InstanceZonesDataManager.currentScoreType; //本次战斗的主题
             _targetData.scoreType = InstanceZonesDataManager.currentScoreType; //本次战斗的主题
-            _targetData.baseScore = fightCfg.targetBaseScore;
+            _targetData.baseScore = fightCfg.TargetBaseScore;
             _targetData.leagueSkillScore = 0;
             _targetData.leagueSkillScore = 0;
-            _targetData.cardId = fightCfg.targetCardId;
-            _targetData.cardScore = fightCfg.targetCardScore;
-            _targetData.tags = fightCfg.needTagsArr;
+            _targetData.cardId = fightCfg.TargetCardId;
+            _targetData.cardScore = fightCfg.TargetCardScore;
+            _targetData.tags = fightCfg.NeedTags;
 
 
-            List<PassivitySkillCfg> skillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(_targetData.cardId);
+            List<PassivitySkillCfg> skillCfgs = CommonDataManager.Tables.TblPassivitySkillCfg.GetGroup1ByCardId(_targetData.cardId);
             _targetData.skillLvs.Clear();
             _targetData.skillLvs.Clear();
             for (int i = 0; i < skillCfgs.Count; i++)
             for (int i = 0; i < skillCfgs.Count; i++)
             {
             {
-                _targetData.skillLvs.Add(fightCfg.targetSkillLvs);
+                _targetData.skillLvs.Add(fightCfg.TargetSkillLvs);
             }
             }
             _targetData.itemScoreList.Clear();
             _targetData.itemScoreList.Clear();
-            for (int i = 0; i < fightCfg.targetPartsScoreArr.Length; i++)
+            for (int i = 0; i < fightCfg.TargetPartsScore.Count; i++)
             {
             {
-                _targetData.itemScoreList.Add(fightCfg.targetPartsScoreArr[i]);
+                _targetData.itemScoreList.Add(fightCfg.TargetPartsScore[i]);
             }
             }
             _targetData.type = FightTargetType.ROBOT;
             _targetData.type = FightTargetType.ROBOT;
-            _targetData.res = fightCfg.targetRes;
+            _targetData.res = fightCfg.TargetRes;
             return _targetData;
             return _targetData;
         }
         }
 
 
@@ -214,9 +215,9 @@ namespace GFGGame
             var star = 0;
             var star = 0;
             foreach (var item in _starDic)
             foreach (var item in _starDic)
             {
             {
-                var levelCfg = StoryLevelCfgArray.Instance.GetCfg(item.Key);
+                var levelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(item.Key);
                 if (levelCfg == null) continue;
                 if (levelCfg == null) continue;
-                if (levelCfg.chapterId == chapterID && levelCfg.type == type && levelCfg.subType == subType)
+                if (levelCfg.ChapterId == chapterID && levelCfg.Type == type && levelCfg.SubType == subType)
                 {
                 {
                     star += item.Value;
                     star += item.Value;
                 }
                 }
@@ -242,8 +243,8 @@ namespace GFGGame
         {
         {
             if (!CheckLevelPass(levelCfgId))
             if (!CheckLevelPass(levelCfgId))
             {
             {
-                var levelCfg = StoryLevelCfgArray.Instance.GetCfg(levelCfgId);
-                var key = CalculateHelper.GenerateInstanceZonesLevelStateKey(levelCfg.type, levelCfg.subType, levelCfg.chapterId);
+                var levelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(levelCfgId);
+                var key = CalculateHelper.GenerateInstanceZonesLevelStateKey(levelCfg.Type, levelCfg.SubType, levelCfg.ChapterId);
                 _passLevelDic[key] = levelCfgId;
                 _passLevelDic[key] = levelCfgId;
             }
             }
         }
         }
@@ -278,10 +279,10 @@ namespace GFGGame
             {
             {
                 return 0;
                 return 0;
             }
             }
-            var levelCfg = StoryLevelCfgArray.Instance.GetCfg(levelCfgId);
+            var levelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(levelCfgId);
             if (levelCfg != null)
             if (levelCfg != null)
             {
             {
-                return levelCfg.order;
+                return levelCfg.Order;
             }
             }
             return 0;
             return 0;
         }
         }
@@ -293,11 +294,11 @@ namespace GFGGame
         /// <returns></returns>
         /// <returns></returns>
         public static bool CheckLevelPass(int levelCfgId)
         public static bool CheckLevelPass(int levelCfgId)
         {
         {
-            var levelCfg = StoryLevelCfgArray.Instance.GetCfg(levelCfgId);
+            var levelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(levelCfgId);
             if (levelCfg != null)
             if (levelCfg != null)
             {
             {
-                var passLevelOrder = GetPassLevelOrder(levelCfg.type, levelCfg.subType, levelCfg.chapterId);
-                return levelCfg.order <= passLevelOrder;
+                var passLevelOrder = GetPassLevelOrder(levelCfg.Type, levelCfg.SubType, levelCfg.ChapterId);
+                return levelCfg.Order <= passLevelOrder;
             }
             }
             return false;
             return false;
         }
         }
@@ -312,7 +313,7 @@ namespace GFGGame
         /// <returns></returns>
         /// <returns></returns>
         public static bool CheckChapterPass(int type, int subType, int chapterId, int levelCount)
         public static bool CheckChapterPass(int type, int subType, int chapterId, int levelCount)
         {
         {
-            var chapterCfg = StoryChapterCfgArray.Instance.GetCfg(chapterId);
+            var chapterCfg = CommonDataManager.Tables.TblStoryChapterCfg.GetOrDefault(chapterId);
             if (chapterCfg != null)
             if (chapterCfg != null)
             {
             {
                 var passLevelOrder = InstanceZonesDataManager.GetPassLevelOrder(type, subType, chapterId);
                 var passLevelOrder = InstanceZonesDataManager.GetPassLevelOrder(type, subType, chapterId);
@@ -341,9 +342,9 @@ namespace GFGGame
 
 
 
 
 
 
-            StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(currentLevelCfgId);
-            StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
-            bool hasFightTarget = fightCfg.targetName != null && fightCfg.targetName.Length > 0;
+            StoryLevelCfg levelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(currentLevelCfgId);
+            StoryFightCfg fightCfg = CommonDataManager.Tables.TblStoryFightCfg.GetOrDefault(int.Parse(levelCfg.FightID));
+            bool hasFightTarget = fightCfg.TargetName != null && fightCfg.TargetName.Length > 0;
             if (hasFightTarget)
             if (hasFightTarget)
             {
             {
                 npcScore = FightDataManager.Instance.npcTotalScore;
                 npcScore = FightDataManager.Instance.npcTotalScore;
@@ -367,40 +368,40 @@ namespace GFGGame
         public static void GetCanFightTime(int type, int subType, int levelCfgId, out int times, out string title)
         public static void GetCanFightTime(int type, int subType, int levelCfgId, out int times, out string title)
         {
         {
 
 
-            var levelCfg = StoryLevelCfgArray.Instance.GetCfg(levelCfgId);
+            var levelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(levelCfgId);
             //不需要消耗体力
             //不需要消耗体力
-            if (levelCfg.power == 0)
+            if (levelCfg.Power == 0)
             {
             {
                 times = GameConst.MAX_COUNT_FIGHT_QUICKLY;
                 times = GameConst.MAX_COUNT_FIGHT_QUICKLY;
                 //神都宸游
                 //神都宸游
-                if (levelCfg.type == ConstInstanceZonesType.PureFight) {
-                    var activityFightCfg = ActivityFightCfgArray.Instance.GetCfg(levelCfg.chapterId);
-                    RoleLimitData limitData = RoleLimitDataManager.GetLimitData(activityFightCfg.limit);
+                if (levelCfg.Type == ConstInstanceZonesType.PureFight) {
+                    var activityFightCfg = CommonDataManager.Tables.TblActivityFightCfg.GetOrDefault(levelCfg.ChapterId);
+                    RoleLimitData limitData = RoleLimitDataManager.GetLimitData(activityFightCfg.Limit);
                     times = limitData.TotalPlayMax - limitData.PlayTimes;
                     times = limitData.TotalPlayMax - limitData.PlayTimes;
                 }
                 }
             }
             }
             else
             else
             {
             {
-                times = (int)Math.Floor((float)RoleDataManager.power / levelCfg.power);//体力次数
+                times = (int)Math.Floor((float)RoleDataManager.power / levelCfg.Power);//体力次数
             }
             }
             times = Math.Min(GameConst.MAX_COUNT_FIGHT_QUICKLY, times);
             times = Math.Min(GameConst.MAX_COUNT_FIGHT_QUICKLY, times);
             title = "";
             title = "";
             if (type == ConstInstanceZonesType.Studio)
             if (type == ConstInstanceZonesType.Studio)
             {
             {
-                var studioCfg = StudioCfgArray.Instance.GetCfg(levelCfg.chapterId);
-                var limitData = RoleLimitDataManager.GetLimitData(studioCfg.limit);
+                var studioCfg = CommonDataManager.Tables.TblStudioCfg.GetOrDefault(levelCfg.ChapterId);
+                var limitData = RoleLimitDataManager.GetLimitData(studioCfg.Limit);
                 times = Math.Min(times, limitData.TotalPlayMax - limitData.PlayTimes);
                 times = Math.Min(times, limitData.TotalPlayMax - limitData.PlayTimes);
             }
             }
             else if(type == ConstInstanceZonesType.PureFight && subType == 1)
             else if(type == ConstInstanceZonesType.PureFight && subType == 1)
             {
             {
-                var zcjbFightCfg = ActivityFightCfgArray.Instance.GetCfg(levelCfg.chapterId);
-                var limitData = RoleLimitDataManager.GetLimitData(zcjbFightCfg.limit);
+                var zcjbFightCfg = CommonDataManager.Tables.TblActivityFightCfg.GetOrDefault(levelCfg.ChapterId);
+                var limitData = RoleLimitDataManager.GetLimitData(zcjbFightCfg.Limit);
                 times = Math.Min(times, 10);
                 times = Math.Min(times, 10);
             }
             }
             else if (type == ConstInstanceZonesType.PureFight && subType == 2)
             else if (type == ConstInstanceZonesType.PureFight && subType == 2)
             {
             {
-                var activityFightCfg = ActivityFightCfgArray.Instance.GetCfg(levelCfg.chapterId);
-                RoleLimitData limitData = RoleLimitDataManager.GetLimitData(activityFightCfg.limit);
+                var activityFightCfg = CommonDataManager.Tables.TblActivityFightCfg.GetOrDefault(levelCfg.ChapterId);
+                RoleLimitData limitData = RoleLimitDataManager.GetLimitData(activityFightCfg.Limit);
                 int time = limitData.TotalPlayMax - limitData.PlayTimes;
                 int time = limitData.TotalPlayMax - limitData.PlayTimes;
                 times = Math.Min(times, time);
                 times = Math.Min(times, time);
             }
             }
@@ -415,12 +416,12 @@ namespace GFGGame
         }
         }
         public static void GetTotalProgress(out int count, out int totalCount)
         public static void GetTotalProgress(out int count, out int totalCount)
         {
         {
-            List<StoryChapterCfg> storyChapters = StoryChapterCfgArray.Instance.GetCfgsBysubType(ConstInstanceZonesSubType.Normal);
+            List<StoryChapterCfg> storyChapters = CommonDataManager.Tables.TblStoryChapterCfg.GetGroup1BySubType(ConstInstanceZonesSubType.Normal);
             totalCount = storyChapters.Count;
             totalCount = storyChapters.Count;
             count = 0;
             count = 0;
             for (int i = 0; i < storyChapters.Count; i++)
             for (int i = 0; i < storyChapters.Count; i++)
             {
             {
-                bool isPass = InstanceZonesDataManager.CheckChapterPass(storyChapters[i].type, storyChapters[i].subType, storyChapters[i].id, storyChapters[i].levelCount);
+                bool isPass = InstanceZonesDataManager.CheckChapterPass(storyChapters[i].Type, storyChapters[i].SubType, storyChapters[i].Id, storyChapters[i].LevelCount);
                 if (isPass)
                 if (isPass)
                 {
                 {
                     count++;
                     count++;

+ 59 - 54
GameClient/Assets/Game/HotUpdate/Data/ItemDataManager.cs

@@ -1,6 +1,7 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
+using cfg.GfgCfg;
 using ET;
 using ET;
 using UnityEngine;
 using UnityEngine;
 
 
@@ -44,11 +45,11 @@ namespace GFGGame
                 //游戏角色初始数据完成后才执行
                 //游戏角色初始数据完成后才执行
                 if (GameGlobal.PreDataInited)
                 if (GameGlobal.PreDataInited)
                 {
                 {
-                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID);
-                    FunctionOpenCfg functionOpenCfg = FunctionOpenCfgArray.Instance.GetCfg(typeof(ClothingListView).Name);
-                    if (itemCfg.rarity == ConstDressRarity.Rarity_TIANYI
+                    ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemID);
+                    FunctionOpenCfg functionOpenCfg = CommonDataManager.Tables.TblFunctionOpenCfg.GetOrDefault(typeof(ClothingListView).Name);
+                    if (itemCfg.Rarity == ConstDressRarity.Rarity_TIANYI
                     && StorageDataManager.Instance.GetStorageValue(ConstStorageId.FUNCTION_OPEN +
                     && StorageDataManager.Instance.GetStorageValue(ConstStorageId.FUNCTION_OPEN +
-                                                                   functionOpenCfg.index) == 0)
+                                                                   functionOpenCfg.Index) == 0)
                     {
                     {
                         FunctionOpenDataManager.Instance.CheckHasSpecialFunOpen();
                         FunctionOpenDataManager.Instance.CheckHasSpecialFunOpen();
                     }
                     }
@@ -80,7 +81,7 @@ namespace GFGGame
         {
         {
             if (_dataDic.ContainsKey(itemID))
             if (_dataDic.ContainsKey(itemID))
             {
             {
-                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID);
+                ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemID);
                 ItemData itemData = _dataDic[itemID];
                 ItemData itemData = _dataDic[itemID];
                 itemData.num -= itemNum;
                 itemData.num -= itemNum;
 
 
@@ -93,24 +94,24 @@ namespace GFGGame
                     {
                     {
                         DressUpMenuItemDataManager.Remove(itemID);
                         DressUpMenuItemDataManager.Remove(itemID);
                     }
                     }
-                    if (itemCfg.itemType == ConstItemType.ITEM)
+                    if (itemCfg.ItemType == ConstItemType.ITEM)
                     {
                     {
                         BagDataManager.Instance.Remove(itemID);
                         BagDataManager.Instance.Remove(itemID);
 
 
-                        if(itemCfg.subType == ConstItemSubType.MATERIAL_SKILL_BOOK)
+                        if(itemCfg.SubType == ConstItemSubType.MATERIAL_SKILL_BOOK)
                             DecomposeDataManager.Instance.RemoveMaterial(itemID);
                             DecomposeDataManager.Instance.RemoveMaterial(itemID);
                     }
                     }
-                    if (itemCfg.itemType == ConstItemType.USEABLE)
+                    if (itemCfg.ItemType == ConstItemType.USEABLE)
                     {
                     {
                         BagDataManager.Instance.Remove(itemID);
                         BagDataManager.Instance.Remove(itemID);
                     }
                     }
-                    if (itemCfg.itemType == ConstItemType.HEAD)
+                    if (itemCfg.ItemType == ConstItemType.HEAD)
                     {
                     {
                         RoleInfoManager.Instance.Remove(itemID);
                         RoleInfoManager.Instance.Remove(itemID);
                     }
                     }
                 }
                 }
 
 
-                if (itemCfg.itemType == ConstItemType.DRESS_UP)//&& !DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemID)
+                if (itemCfg.ItemType == ConstItemType.DRESS_UP)//&& !DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemID)
                 {
                 {
                     DecomposeDataManager.Instance.Remove(itemID);
                     DecomposeDataManager.Instance.Remove(itemID);
                 }
                 }
@@ -146,19 +147,19 @@ namespace GFGGame
                 return value.itemType;
                 return value.itemType;
             }
             }
             //Debug.Log($"ItemDataManager GetItemType itemId {itemId}");
             //Debug.Log($"ItemDataManager GetItemType itemId {itemId}");
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
-            return itemCfg.itemType;
+            ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
+            return itemCfg.ItemType;
         }
         }
 
 
-        public static int[][] GetItemSyntheticSuitArr(int itemId)
+        public static List<ItemParam> GetItemSyntheticSuitArr(int itemId)
         {
         {
             _dataDic.TryGetValue(itemId, out var value);
             _dataDic.TryGetValue(itemId, out var value);
-            if (value != null && value.syntheticMateriarsArr != null && value.syntheticMateriarsArr.Length > 0)
+            if (value != null && value.syntheticMateriarsArr != null && value.syntheticMateriarsArr.Count > 0)
             {
             {
                 return value.syntheticMateriarsArr;
                 return value.syntheticMateriarsArr;
             }
             }
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
-            return itemCfg.syntheticMateriarsArr;
+            ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
+            return itemCfg.SyntheticMateriars.ToGfgGameItemParam();
         }
         }
 
 
         public static int GetItemSubType(int itemId)
         public static int GetItemSubType(int itemId)
@@ -168,8 +169,8 @@ namespace GFGGame
             {
             {
                 return value.subType;
                 return value.subType;
             }
             }
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
-            return itemCfg.subType;
+            ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
+            return itemCfg.SubType;
         }
         }
 
 
         public static int GetItemRarity(int itemId)
         public static int GetItemRarity(int itemId)
@@ -179,8 +180,8 @@ namespace GFGGame
             {
             {
                 return value.rarity;
                 return value.rarity;
             }
             }
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
-            return itemCfg.rarity;
+            ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
+            return itemCfg.Rarity;
         }
         }
 
 
         public static int GetItemSkillId(int itemId)
         public static int GetItemSkillId(int itemId)
@@ -190,12 +191,12 @@ namespace GFGGame
             {
             {
                 return value.param2Arr[0];
                 return value.param2Arr[0];
             }
             }
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
-            if (itemCfg.param2Arr.Length == 0)
+            ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
+            if (itemCfg.Param2.Count == 0)
             {
             {
                 return 0;
                 return 0;
             }
             }
-            return itemCfg.param2Arr[0];
+            return itemCfg.Param2[0];
         }
         }
 
 
         public static void InitServerData(List<ItemInfoProto> items)
         public static void InitServerData(List<ItemInfoProto> items)
@@ -261,22 +262,22 @@ namespace GFGGame
         /// <returns></returns>
         /// <returns></returns>
         public static int GetItemBaseScoreValue(int itemId, int scoreType)
         public static int GetItemBaseScoreValue(int itemId, int scoreType)
         {
         {
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+            ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
             if (scoreType == 1)
             if (scoreType == 1)
             {
             {
-                return itemCfg.score1;
+                return itemCfg.Score1;
             }
             }
             else if (scoreType == 2)
             else if (scoreType == 2)
             {
             {
-                return itemCfg.score2;
+                return itemCfg.Score2;
             }
             }
             else if (scoreType == 3)
             else if (scoreType == 3)
             {
             {
-                return itemCfg.score3;
+                return itemCfg.Score3;
             }
             }
             else if (scoreType == 4)
             else if (scoreType == 4)
             {
             {
-                return itemCfg.score4;
+                return itemCfg.Score4;
             }
             }
             return 0;
             return 0;
         }
         }
@@ -287,7 +288,7 @@ namespace GFGGame
         /// <param name="itemId"></param>
         /// <param name="itemId"></param>
         /// <param name="scoreType"></param>
         /// <param name="scoreType"></param>
         /// <returns></returns>
         /// <returns></returns>
-        public static int GetItemAdditionScore(int itemId, int scoreType, string[] tags = null)
+        public static int GetItemAdditionScore(int itemId, int scoreType, List<string> tags = null)
         {
         {
             if (_dataDic.TryGetValue(itemId, out var itemData))
             if (_dataDic.TryGetValue(itemId, out var itemData))
             {
             {
@@ -303,7 +304,7 @@ namespace GFGGame
         }
         }
 
 
         /// 飞花令临时接口
         /// 飞花令临时接口
-        public static int GetArenaScore(int itemId, int scoreType, string[] tags = null)
+        public static int GetArenaScore(int itemId, int scoreType, List<string > tags = null)
         {
         {
             if (_dataDic.TryGetValue(itemId, out var itemData))
             if (_dataDic.TryGetValue(itemId, out var itemData))
             {
             {
@@ -317,11 +318,11 @@ namespace GFGGame
             }
             }
             else
             else
             {
             {
-                ItemCfg itemdate = ItemCfgArray.Instance.GetCfg(itemId);
+                ItemCfg itemdate = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
                 ItemData itemDate = new ItemData() { };
                 ItemData itemDate = new ItemData() { };
                 if (itemdate != null)
                 if (itemdate != null)
                 {
                 {
-                    itemDate.id = itemdate.id;
+                    itemDate.id = itemdate.Id;
                     int scroe = 0;
                     int scroe = 0;
                     if (tags != null)
                     if (tags != null)
                     {
                     {
@@ -345,12 +346,12 @@ namespace GFGGame
             if (_dataDic.TryGetValue(itemId, out var itemData))
             if (_dataDic.TryGetValue(itemId, out var itemData))
             {
             {
                 int scroe = 0;
                 int scroe = 0;
-                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
-                if (itemCfg.tagsArr != null)
+                ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
+                if (itemCfg.Tags != null)
                 {
                 {
-                    foreach (var info in itemCfg.tagsArr)
+                    foreach (var info in itemCfg.Tags)
                     {
                     {
-                        scroe += Convert.ToInt32(info[1]);
+                        scroe += Convert.ToInt32(info.Val);
                     }
                     }
                 }
                 }
                 return scroe;
                 return scroe;
@@ -364,22 +365,22 @@ namespace GFGGame
         /// <param name="itemId"></param>
         /// <param name="itemId"></param>
         /// <param name="tags"></param>
         /// <param name="tags"></param>
         /// <returns></returns>
         /// <returns></returns>
-        public static int GetItemTagScore(int itemId, string[] tags)
+        public static int GetItemTagScore(int itemId, List<string> tags)
         {
         {
             int score = 0;
             int score = 0;
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+            ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
             if (itemCfg == null)
             if (itemCfg == null)
             {
             {
                 ET.Log.Error("物品:" + itemId + "不存在");
                 ET.Log.Error("物品:" + itemId + "不存在");
                 return score;
                 return score;
             }
             }
-            for (int i = 0; i < itemCfg.tagsArr.Length; i++)
+            for (int i = 0; i < itemCfg.Tags.Count; i++)
             {
             {
-                for (int j = 0; j < tags.Length; j++)
+                for (int j = 0; j < tags.Count; j++)
                 {
                 {
-                    if (itemCfg.tagsArr[i][0] == tags[j])
+                    if (itemCfg.Tags[i].Name == tags[j])
                     {
                     {
-                        score += int.Parse(itemCfg.tagsArr[i][1]);
+                        score += itemCfg.Tags[i].Val;
                     }
                     }
                 }
                 }
             }
             }
@@ -390,18 +391,18 @@ namespace GFGGame
         /// 检测一件服装是否包含要求的标签
         /// 检测一件服装是否包含要求的标签
         /// </summary>
         /// </summary>
         /// <returns></returns>
         /// <returns></returns>
-        public static bool CheckItemTagsRight(int itemId, string[] tags)
+        public static bool CheckItemTagsRight(int itemId, List<string> tags)
         {
         {
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+            ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
             if(itemCfg == null)
             if(itemCfg == null)
             {
             {
                 return false;
                 return false;
             }
             }
-            for (int i = 0; i < itemCfg.tagsArr.Length; i++)
+            for (int i = 0; i < itemCfg.Tags.Count; i++)
             {
             {
-                for (int j = 0; j < tags.Length; j++)
+                for (int j = 0; j < tags.Count; j++)
                 {
                 {
-                    if (itemCfg.tagsArr[i][0] == tags[j]) return true;
+                    if (itemCfg.Tags[i].Name == tags[j]) return true;
                 }
                 }
             }
             }
             return false;
             return false;
@@ -427,15 +428,19 @@ namespace GFGGame
         /// <returns></returns>
         /// <returns></returns>
         public static void relativeSuitPerPromote(int itemId, int keyInt = 0, int valueInt = 0, List<int> keyList = null, List<int> valueList = null)
         public static void relativeSuitPerPromote(int itemId, int keyInt = 0, int valueInt = 0, List<int> keyList = null, List<int> valueList = null)
         {
         {
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
-            List<SuitFosterCfg> fosterCfgs = SuitFosterCfgArray.Instance.GetCfgsBysuitId(itemCfg.suitId);
-            SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(fosterCfgs[0].suitId2);
-            for (int i = 0; i < suitCfg.partsArr.Length; i++)
+            ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
+            List<SuitFosterCfg> fosterCfgs = CommonDataManager.Tables.TblSuitFosterCfg.GetGroup1BySuitId(itemCfg.SuitId);
+            SuitCfg suitCfg = CommonDataManager.Tables.TblSuitCfg.GetOrDefault(fosterCfgs[0].SuitId2);
+            if (suitCfg == null)
             {
             {
-                ItemCfg itemPartCfg = ItemCfgArray.Instance.GetCfg(suitCfg.partsArr[i]);
-                if (itemPartCfg.subType == itemCfg.subType)
+             Log.Error($"");   
+            }
+            for (int i = 0; i < suitCfg.Parts.Count; i++)
+            {
+                ItemCfg itemPartCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(suitCfg.Parts[i]);
+                if (itemPartCfg.SubType == itemCfg.SubType)
                 {
                 {
-                    if (_dataDic.TryGetValue(itemPartCfg.id, out var itemPartData))
+                    if (_dataDic.TryGetValue(itemPartCfg.Id, out var itemPartData))
                     {
                     {
                         if(keyInt > 0)
                         if(keyInt > 0)
                             itemPartData.SetAttribute(keyInt, valueInt);
                             itemPartData.SetAttribute(keyInt, valueInt);

+ 138 - 64
GameClient/Assets/Game/HotUpdate/Data/LeagueDataManager.cs

@@ -1,42 +1,71 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using ET;
 using ET;
+
 namespace GFGGame
 namespace GFGGame
 {
 {
     public class LastQuestionResult
     public class LastQuestionResult
     {
     {
-        public static int SomeBodyRight = 1;//1:有人答对题目
-        public static int NobodyRight = 2;// 2:无人答对
-        public static int Ending = 3;// 3:答题结束
+        public static int SomeBodyRight = 1; //1:有人答对题目
+        public static int NobodyRight = 2; // 2:无人答对
+        public static int Ending = 3; // 3:答题结束
     }
     }
+
     public class LeagueJoinType
     public class LeagueJoinType
     {
     {
-        public static int Join = 1;//1:已经加入军团
-        public static int UnJoin = 2;//1:未加入军团
+        public static int Join = 1; //1:已经加入军团
+        public static int UnJoin = 2; //1:未加入军团
     }
     }
+
     public class LeagueDataManager : SingletonBase<LeagueDataManager>
     public class LeagueDataManager : SingletonBase<LeagueDataManager>
     {
     {
-        public int Type = 2;// 1:已经加入军团 2:未加入军团
-        public int MaxFinishType { get { return GetSkillCurType(); } }
-        public int CurLayer { get { return Math.Max(GameGlobal.myNumericComponent.GetAsInt(NumericType.LeagueSkillMaxLayer), 1); } }
-        public LeagueData LeagueData;//联盟信息
-        public int HallLevel { get { return (int)GetNumeriValue(LeagueNumericType.HallLevel); } }
-        public int HotelLevel { get { return (int)GetNumeriValue(LeagueNumericType.HotelLevel); } }
-        public int StoreLevel { get { return (int)GetNumeriValue(LeagueNumericType.StoreLevel); } }
-        public Dictionary<int, long> LeagueNumber = new Dictionary<int, long>();//联盟数值,LeagueNumericType
-        public Dictionary<long, LeagueListData> ListDatas = new Dictionary<long, LeagueListData>();//联盟列表
-        public Dictionary<long, OtherRoleInfoData> ListApplyDatas = new Dictionary<long, OtherRoleInfoData>();//联盟申请列表
-        public List<LeagueLogData> ListLogDatas = new List<LeagueLogData>();//日志数据
-        public LeagueLastAnswerRoleData LastAnswerRoleData = new LeagueLastAnswerRoleData();//上题回答数据
-        public Dictionary<long, int> ListAnsweringDatas = new Dictionary<long, int>();//当前答题玩家数据,roleId,答题数量。
-        public Dictionary<int, List<LeagueAnswerData>> ListAnswerRankDatas = new Dictionary<int, List<LeagueAnswerData>>();//答题排行榜数据,int:type//0:周排行 1:上周排行
+        public int Type = 2; // 1:已经加入军团 2:未加入军团
+
+        public int MaxFinishType
+        {
+            get { return GetSkillCurType(); }
+        }
+
+        public int CurLayer
+        {
+            get { return Math.Max(GameGlobal.myNumericComponent.GetAsInt(NumericType.LeagueSkillMaxLayer), 1); }
+        }
+
+        public LeagueData LeagueData; //联盟信息
+
+        public int HallLevel
+        {
+            get { return (int)GetNumeriValue(LeagueNumericType.HallLevel); }
+        }
+
+        public int HotelLevel
+        {
+            get { return (int)GetNumeriValue(LeagueNumericType.HotelLevel); }
+        }
+
+        public int StoreLevel
+        {
+            get { return (int)GetNumeriValue(LeagueNumericType.StoreLevel); }
+        }
+
+        public Dictionary<int, long> LeagueNumber = new Dictionary<int, long>(); //联盟数值,LeagueNumericType
+        public Dictionary<long, LeagueListData> ListDatas = new Dictionary<long, LeagueListData>(); //联盟列表
+        public Dictionary<long, OtherRoleInfoData> ListApplyDatas = new Dictionary<long, OtherRoleInfoData>(); //联盟申请列表
+        public List<LeagueLogData> ListLogDatas = new List<LeagueLogData>(); //日志数据
+        public LeagueLastAnswerRoleData LastAnswerRoleData = new LeagueLastAnswerRoleData(); //上题回答数据
+        public Dictionary<long, int> ListAnsweringDatas = new Dictionary<long, int>(); //当前答题玩家数据,roleId,答题数量。
+
+        public Dictionary<int, List<LeagueAnswerData>> ListAnswerRankDatas =
+            new Dictionary<int, List<LeagueAnswerData>>(); //答题排行榜数据,int:type//0:周排行 1:上周排行
+
         public int TeaPartyId = 0; //茶会期数 --未开启则期数为0
         public int TeaPartyId = 0; //茶会期数 --未开启则期数为0
         public int TeaPartyStatus = 0; // 0未开启 1集结中 2已集结
         public int TeaPartyStatus = 0; // 0未开启 1集结中 2已集结
         public RoleTeapartyInfoProto RoleTeapartyInfo = new RoleTeapartyInfoProto(); // 玩家本期茶话会参与信息
         public RoleTeapartyInfoProto RoleTeapartyInfo = new RoleTeapartyInfoProto(); // 玩家本期茶话会参与信息
         public List<RoleContainerProto> RoleContainerList = new List<RoleContainerProto>(); // 茶会每个扮演角色坑位信息
         public List<RoleContainerProto> RoleContainerList = new List<RoleContainerProto>(); // 茶会每个扮演角色坑位信息
         public long TeaPartyCloseTime = 0; // 茶话会结束时间
         public long TeaPartyCloseTime = 0; // 茶话会结束时间
         public int ChooseTeaPartId = 0; // 选择的茶话会类型
         public int ChooseTeaPartId = 0; // 选择的茶话会类型
-        
+
         public void Clear()
         public void Clear()
         {
         {
             Type = LeagueJoinType.UnJoin;
             Type = LeagueJoinType.UnJoin;
@@ -47,9 +76,10 @@ namespace GFGGame
             ListAnsweringDatas.Clear();
             ListAnsweringDatas.Clear();
             LeagueNumber.Clear();
             LeagueNumber.Clear();
         }
         }
+
         public void SetNumeric(int type, long value)
         public void SetNumeric(int type, long value)
         {
         {
-            if(LeagueNumber.ContainsKey(type))
+            if (LeagueNumber.ContainsKey(type))
                 LeagueNumber[type] = value;
                 LeagueNumber[type] = value;
             else
             else
                 LeagueNumber.Add(type, value);
                 LeagueNumber.Add(type, value);
@@ -61,6 +91,7 @@ namespace GFGGame
             {
             {
                 return value;
                 return value;
             }
             }
+
             return 0;
             return 0;
         }
         }
 
 
@@ -83,18 +114,23 @@ namespace GFGGame
                     title = "成员";
                     title = "成员";
                     break;
                     break;
             }
             }
+
             return title;
             return title;
         }
         }
+
         public int GetMyPos()
         public int GetMyPos()
         {
         {
             if (LeagueDataManager.Instance.LeagueData == null)
             if (LeagueDataManager.Instance.LeagueData == null)
             {
             {
                 return LeaguePos.Member;
                 return LeaguePos.Member;
             }
             }
-            if (LeagueDataManager.Instance.LeagueData.LeagueMemberDatas.TryGetValue(RoleDataManager.roleId, out LeagueMemberData memberData))
+
+            if (LeagueDataManager.Instance.LeagueData.LeagueMemberDatas.TryGetValue(RoleDataManager.roleId,
+                    out LeagueMemberData memberData))
             {
             {
                 return memberData.Pos;
                 return memberData.Pos;
             }
             }
+
             return LeaguePos.Member;
             return LeaguePos.Member;
         }
         }
 
 
@@ -104,6 +140,7 @@ namespace GFGGame
             {
             {
                 return "";
                 return "";
             }
             }
+
             return LeagueDataManager.Instance.LeagueData.Name;
             return LeagueDataManager.Instance.LeagueData.Name;
         }
         }
 
 
@@ -131,14 +168,17 @@ namespace GFGGame
                     curCount = RoleDataManager.LeagueType3PrayTimes;
                     curCount = RoleDataManager.LeagueType3PrayTimes;
                     break;
                     break;
             }
             }
+
             return curCount;
             return curCount;
         }
         }
+
         public OtherRoleInfoData GetMemberRoleInfo(long roleId)
         public OtherRoleInfoData GetMemberRoleInfo(long roleId)
         {
         {
             LeagueData.LeagueMemberDatas.TryGetValue(roleId, out LeagueMemberData value);
             LeagueData.LeagueMemberDatas.TryGetValue(roleId, out LeagueMemberData value);
             if (value == null) return null;
             if (value == null) return null;
             return value.RoleInfo;
             return value.RoleInfo;
         }
         }
+
         //输入属性类型,获取联盟技能该属性加成总值
         //输入属性类型,获取联盟技能该属性加成总值
         public int GetAllSkillScore(int scoreType)
         public int GetAllSkillScore(int scoreType)
         {
         {
@@ -147,8 +187,10 @@ namespace GFGGame
             {
             {
                 score += SkillDataManager.Instance.LeagueSkillScoreDatas[key][scoreType];
                 score += SkillDataManager.Instance.LeagueSkillScoreDatas[key][scoreType];
             }
             }
+
             return score;
             return score;
         }
         }
+
         //输入联盟技能类型和属性类型,获取指定技能类型该属性加成值
         //输入联盟技能类型和属性类型,获取指定技能类型该属性加成值
         public int GetSkillScoreByType(int skillType, int scoreType)
         public int GetSkillScoreByType(int skillType, int scoreType)
         {
         {
@@ -157,45 +199,51 @@ namespace GFGGame
             if (!SkillDataManager.Instance.LeagueSkillScoreDatas[skillType].ContainsKey(scoreType)) return score;
             if (!SkillDataManager.Instance.LeagueSkillScoreDatas[skillType].ContainsKey(scoreType)) return score;
             return SkillDataManager.Instance.LeagueSkillScoreDatas[skillType][scoreType];
             return SkillDataManager.Instance.LeagueSkillScoreDatas[skillType][scoreType];
         }
         }
+
         //检测一个技能是否激活
         //检测一个技能是否激活
         public bool CheckIsSkillActive(int skillType, int skillId)
         public bool CheckIsSkillActive(int skillType, int skillId)
         {
         {
             if (!SkillDataManager.Instance.LeagueSkillDatas.ContainsKey(skillType)) return false;
             if (!SkillDataManager.Instance.LeagueSkillDatas.ContainsKey(skillType)) return false;
             return SkillDataManager.Instance.LeagueSkillDatas[skillType].IndexOf(skillId) >= 0;
             return SkillDataManager.Instance.LeagueSkillDatas[skillType].IndexOf(skillId) >= 0;
         }
         }
+
         private int GetSkillCurType()
         private int GetSkillCurType()
         {
         {
-            LeagueSkillCountCfg[] skillCountCfgs = LeagueSkillCountCfgArray.Instance.dataArray;
-            for (int i = 0; i < skillCountCfgs.Length; i++)
+            List<LeagueSkillCountCfg> skillCountCfgs = CommonDataManager.Tables.TblLeagueSkillCountCfg.DataList;
+
+            for (int i = 0; i < skillCountCfgs.Count; i++)
             {
             {
-                if (GetSkillProgressByType(skillCountCfgs[i].type) < 100) return skillCountCfgs[i].type - 1;
+                if (GetSkillProgressByType(skillCountCfgs[i].Type) < 100) return skillCountCfgs[i].Type - 1;
             }
             }
-            return skillCountCfgs[skillCountCfgs.Length - 1].type;
+
+            return skillCountCfgs[skillCountCfgs.Count - 1].Type;
         }
         }
 
 
         //根据技能类型获取该类型进度
         //根据技能类型获取该类型进度
         public double GetSkillProgressByType(int skillType)
         public double GetSkillProgressByType(int skillType)
         {
         {
-            LeagueSkillCountCfg skillCountCfg = LeagueSkillCountCfgArray.Instance.GetCfg(skillType);
-            // if (skillCountCfg.type - CurType < 0) return 100;
-            // if (skillCountCfg.type - CurType > 0) return 0;
+            LeagueSkillCountCfg skillCountCfg = CommonDataManager.Tables.TblLeagueSkillCountCfg.GetOrDefault(skillType);
+            float count = !SkillDataManager.Instance.LeagueSkillDatas.ContainsKey(skillType)
+                ? 0
+                : SkillDataManager.Instance.LeagueSkillDatas[skillType].Count;
+            float maxCount = skillCountCfg.SkillCount;
 
 
-            float count = !SkillDataManager.Instance.LeagueSkillDatas.ContainsKey(skillType) ? 0 : SkillDataManager.Instance.LeagueSkillDatas[skillType].Count;
-            float maxCount = skillCountCfg.skillCount;
-
-            return Math.Round(count / maxCount * 100, 2); ;
+            return Math.Round(count / maxCount * 100, 2);
+            ;
         }
         }
 
 
         //获取联盟礼包领取数据
         //获取联盟礼包领取数据
         public List<LeagueGiftGetData> GetGiftGetDatas()
         public List<LeagueGiftGetData> GetGiftGetDatas()
         {
         {
             List<LeagueGiftGetData> getDatas = new List<LeagueGiftGetData>();
             List<LeagueGiftGetData> getDatas = new List<LeagueGiftGetData>();
-            for (int i = 0; i < LeagueWelfareCfgArray.Instance.dataArray.Length; i++)
+
+            for (int i = 0; i < CommonDataManager.Tables.TblLeagueWelfareCfg.DataList.Count; i++)
             {
             {
-                LeagueWelfareCfg welfareCfg = LeagueWelfareCfgArray.Instance.dataArray[i];
+                LeagueWelfareCfg welfareCfg = CommonDataManager.Tables.TblLeagueWelfareCfg.DataList[i];
+
                 bool isBuy = false;
                 bool isBuy = false;
                 bool isGet = false;
                 bool isGet = false;
-                switch (welfareCfg.type)
+                switch (welfareCfg.Type)
                 {
                 {
                     case LeagueWelfareType.Day: //普通日福利
                     case LeagueWelfareType.Day: //普通日福利
                         isBuy = GetNumeriValue(LeagueNumericType.LeagueWelfareDay) > 0;
                         isBuy = GetNumeriValue(LeagueNumericType.LeagueWelfareDay) > 0;
@@ -214,16 +262,18 @@ namespace GFGGame
                         isGet = GameGlobal.myNumericComponent.GetAsInt(NumericType.LeagueWelfareSuperDay) == 1;
                         isGet = GameGlobal.myNumericComponent.GetAsInt(NumericType.LeagueWelfareSuperDay) == 1;
                         break;
                         break;
                 }
                 }
+
                 // ET.Log.Debug("isBuy:" + isBuy);
                 // ET.Log.Debug("isBuy:" + isBuy);
                 if (isBuy)
                 if (isBuy)
                 {
                 {
                     LeagueGiftGetData giftGetData = new LeagueGiftGetData();
                     LeagueGiftGetData giftGetData = new LeagueGiftGetData();
-                    giftGetData.Type = welfareCfg.type;
+                    giftGetData.Type = welfareCfg.Type;
                     giftGetData.IsGet = isGet;
                     giftGetData.IsGet = isGet;
                     giftGetData.GiftCfg = welfareCfg;
                     giftGetData.GiftCfg = welfareCfg;
                     getDatas.Add(giftGetData);
                     getDatas.Add(giftGetData);
                 }
                 }
             }
             }
+
             return getDatas;
             return getDatas;
         }
         }
 
 
@@ -231,12 +281,12 @@ namespace GFGGame
         {
         {
             List<LeagueGiftBuyData> giftBuyDatas = new List<LeagueGiftBuyData>();
             List<LeagueGiftBuyData> giftBuyDatas = new List<LeagueGiftBuyData>();
 
 
-            for (int i = 0; i < LeagueWelfareCfgArray.Instance.dataArray.Length; i++)
+            for (int i = 0; i < CommonDataManager.Tables.TblLeagueWelfareCfg.DataList.Count; i++)
             {
             {
-                LeagueWelfareCfg welfareCfg = LeagueWelfareCfgArray.Instance.dataArray[i];
+                LeagueWelfareCfg welfareCfg = CommonDataManager.Tables.TblLeagueWelfareCfg.DataList[i];
                 int buyCount = 0;
                 int buyCount = 0;
                 long endTime = 0;
                 long endTime = 0;
-                switch (welfareCfg.type)
+                switch (welfareCfg.Type)
                 {
                 {
                     case LeagueWelfareType.Day:
                     case LeagueWelfareType.Day:
                         buyCount = (int)GetNumeriValue(LeagueNumericType.LeagueWelfareDay);
                         buyCount = (int)GetNumeriValue(LeagueNumericType.LeagueWelfareDay);
@@ -253,13 +303,15 @@ namespace GFGGame
                         buyCount = (int)GetNumeriValue(LeagueNumericType.LeagueWelfareSuperDay);
                         buyCount = (int)GetNumeriValue(LeagueNumericType.LeagueWelfareSuperDay);
                         break;
                         break;
                 }
                 }
+
                 LeagueGiftBuyData giftBuyData = new LeagueGiftBuyData();
                 LeagueGiftBuyData giftBuyData = new LeagueGiftBuyData();
-                giftBuyData.Type = welfareCfg.type;
+                giftBuyData.Type = welfareCfg.Type;
                 giftBuyData.BuyCount = buyCount;
                 giftBuyData.BuyCount = buyCount;
                 giftBuyData.EndTime = endTime;
                 giftBuyData.EndTime = endTime;
                 giftBuyData.GiftCfg = welfareCfg;
                 giftBuyData.GiftCfg = welfareCfg;
                 giftBuyDatas.Add(giftBuyData);
                 giftBuyDatas.Add(giftBuyData);
             }
             }
+
             return giftBuyDatas;
             return giftBuyDatas;
         }
         }
 
 
@@ -269,23 +321,25 @@ namespace GFGGame
         {
         {
             int matchedValue = 0;
             int matchedValue = 0;
 
 
-            var teapartyRoleCfg = TeapartyRoleCfgArray.Instance.GetCfgsByid(TeaPartyId);
-            string[] tags = teapartyRoleCfg[ChooseTeaPartId - 1].tagArr;
+            var teapartyRoleCfg = CommonDataManager.Tables.TblTeapartyRoleCfg.GetGroup1ById(TeaPartyId);
+
+            List<string> tags = teapartyRoleCfg[ChooseTeaPartId - 1].Tag;
 
 
             for (int i = 0; i < roleData.itemList.Count; i++)
             for (int i = 0; i < roleData.itemList.Count; i++)
             {
             {
                 int itemId = roleData.itemList[i];
                 int itemId = roleData.itemList[i];
-                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+                ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
                 if (itemCfg == null)
                 if (itemCfg == null)
                 {
                 {
                     ET.Log.Error("物品:" + itemId + "不存在");
                     ET.Log.Error("物品:" + itemId + "不存在");
                     return matchedValue;
                     return matchedValue;
                 }
                 }
-                for (int t = 0; t < itemCfg.tagsArr.Length; t++)
+
+                for (int t = 0; t < itemCfg.Tags.Count; t++)
                 {
                 {
-                    for (int j = 0; j < tags.Length; j++)
+                    for (int j = 0; j < tags.Count; j++)
                     {
                     {
-                        if (itemCfg.tagsArr[t][0] == tags[j])
+                        if (itemCfg.Tags[t].Name == tags[j])
                         {
                         {
                             matchedValue += 1;
                             matchedValue += 1;
                         }
                         }
@@ -300,25 +354,29 @@ namespace GFGGame
 
 
         public bool CheckTeaPartyPersonRewardCanGet(int targetScore)
         public bool CheckTeaPartyPersonRewardCanGet(int targetScore)
         {
         {
-            return CheckTeaPartyPersonRewardStatu(targetScore) == ConstBonusStatus.CAN_GET && LeagueDataManager.Instance.TeaPartyStatus == LeagueTeaPartyStatus.YesGo;
+            return CheckTeaPartyPersonRewardStatu(targetScore) == ConstBonusStatus.CAN_GET &&
+                   LeagueDataManager.Instance.TeaPartyStatus == LeagueTeaPartyStatus.YesGo;
         }
         }
 
 
         //茶话会个人奖励当前状态
         //茶话会个人奖励当前状态
         public int CheckTeaPartyPersonRewardStatu(int targetScore)
         public int CheckTeaPartyPersonRewardStatu(int targetScore)
         {
         {
-            var teapartyRewardRoleCfg = TeapartyRewardRoleCfgArray.Instance.dataArray;
+            var teapartyRewardRoleCfg = CommonDataManager.Tables.TblTeapartyRewardRoleCfg.DataList;
+
             if (teapartyRewardRoleCfg == null)
             if (teapartyRewardRoleCfg == null)
                 return 0;
                 return 0;
             var roleTeapartyInfo = LeagueDataManager.Instance.RoleTeapartyInfo;
             var roleTeapartyInfo = LeagueDataManager.Instance.RoleTeapartyInfo;
-            if (roleTeapartyInfo == null || roleTeapartyInfo.PerAwardStatusVs == null || roleTeapartyInfo.PerAwardStatusVs.Count <= 0)
+            if (roleTeapartyInfo == null || roleTeapartyInfo.PerAwardStatusVs == null ||
+                roleTeapartyInfo.PerAwardStatusVs.Count <= 0)
                 return 0;
                 return 0;
-            for (int i = 0; i < teapartyRewardRoleCfg.Length; i++)
+            for (int i = 0; i < teapartyRewardRoleCfg.Count; i++)
             {
             {
-                if (teapartyRewardRoleCfg[i].targetScore == targetScore)
+                if (teapartyRewardRoleCfg[i].TargetScore == targetScore)
                 {
                 {
                     return roleTeapartyInfo.PerAwardStatusVs[i];
                     return roleTeapartyInfo.PerAwardStatusVs[i];
                 }
                 }
             }
             }
+
             return 0;
             return 0;
         }
         }
 
 
@@ -332,19 +390,24 @@ namespace GFGGame
         //茶话会雅集奖励是否可以领取
         //茶话会雅集奖励是否可以领取
         public int CheckTeaPartyLeagueRewardStatu(int targetScore)
         public int CheckTeaPartyLeagueRewardStatu(int targetScore)
         {
         {
-            var teapartyRewardLeagueCfgs = TeapartyRewardLeagueCfgArray.Instance.GetCfgsByid(LeagueDataManager.Instance.TeaPartyId);
+            var teapartyRewardLeagueCfgs =
+                CommonDataManager.Tables.TblTeapartyRewardLeagueCfg.GetGroup1ById(LeagueDataManager.Instance
+                    .TeaPartyId);
+
             if (teapartyRewardLeagueCfgs == null)
             if (teapartyRewardLeagueCfgs == null)
                 return 0;
                 return 0;
             var roleTeapartyInfo = LeagueDataManager.Instance.RoleTeapartyInfo;
             var roleTeapartyInfo = LeagueDataManager.Instance.RoleTeapartyInfo;
-            if (roleTeapartyInfo == null || roleTeapartyInfo.LeagueAwardStatusVs == null || roleTeapartyInfo.LeagueAwardStatusVs.Count <= 0)
+            if (roleTeapartyInfo == null || roleTeapartyInfo.LeagueAwardStatusVs == null ||
+                roleTeapartyInfo.LeagueAwardStatusVs.Count <= 0)
                 return 0;
                 return 0;
             for (int i = 0; i < teapartyRewardLeagueCfgs.Count; i++)
             for (int i = 0; i < teapartyRewardLeagueCfgs.Count; i++)
             {
             {
-                if (teapartyRewardLeagueCfgs[i].targetScore == targetScore)
+                if (teapartyRewardLeagueCfgs[i].TargetScore == targetScore)
                 {
                 {
                     return roleTeapartyInfo.LeagueAwardStatusVs[i];
                     return roleTeapartyInfo.LeagueAwardStatusVs[i];
                 }
                 }
             }
             }
+
             return 0;
             return 0;
         }
         }
 
 
@@ -356,24 +419,30 @@ namespace GFGGame
                 return false;
                 return false;
 
 
             //该活动暂未开启
             //该活动暂未开启
-            if (LeagueDataManager.Instance.TeaPartyStatus == LeagueTeaPartyStatus.YesGo && roleTeapartyInfo.IsNoActDayEnterLeague)
+            if (LeagueDataManager.Instance.TeaPartyStatus == LeagueTeaPartyStatus.YesGo &&
+                roleTeapartyInfo.IsNoActDayEnterLeague)
                 return false;
                 return false;
             //该玩法不可以重复参加哦
             //该玩法不可以重复参加哦
-            if (roleTeapartyInfo.IsQuitTeaParty && roleTeapartyInfo.LastOpenCfgId != 0 && roleTeapartyInfo.LastOpenCfgId == LeagueDataManager.Instance.TeaPartyId)
+            if (roleTeapartyInfo.IsQuitTeaParty && roleTeapartyInfo.LastOpenCfgId != 0 &&
+                roleTeapartyInfo.LastOpenCfgId == LeagueDataManager.Instance.TeaPartyId)
                 return false;
                 return false;
 
 
-            var teapartyRewardRoleCfg = TeapartyRewardRoleCfgArray.Instance.dataArray;
-            var teapartyRewardLeagueCfgs = TeapartyRewardLeagueCfgArray.Instance.GetCfgsByid(LeagueDataManager.Instance.TeaPartyId);
+            var teapartyRewardRoleCfg = CommonDataManager.Tables.TblTeapartyRewardRoleCfg.DataList;
+
+            var teapartyRewardLeagueCfgs =
+                CommonDataManager.Tables.TblTeapartyRewardLeagueCfg.GetGroup1ById(LeagueDataManager.Instance
+                    .TeaPartyId);
 
 
             foreach (var cfg in teapartyRewardRoleCfg)
             foreach (var cfg in teapartyRewardRoleCfg)
             {
             {
-                if (CheckTeaPartyPersonRewardCanGet(cfg.targetScore))
+                if (CheckTeaPartyPersonRewardCanGet(cfg.TargetScore))
                     return true;
                     return true;
             }
             }
+
             foreach (var cfg in teapartyRewardLeagueCfgs)
             foreach (var cfg in teapartyRewardLeagueCfgs)
             {
             {
-                if (CheckTeaPartyLeagueRewardCanGet(cfg.targetScore))
-                return true;
+                if (CheckTeaPartyLeagueRewardCanGet(cfg.TargetScore))
+                    return true;
             }
             }
 
 
             return false;
             return false;
@@ -382,10 +451,15 @@ namespace GFGGame
         //主界面雅集提示语判断
         //主界面雅集提示语判断
         public string CheckLeagueMainTips()
         public string CheckLeagueMainTips()
         {
         {
-            if (LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.LeagueQuestionStatus) == LeagueQuestionStatus.Open || LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.LeagueQuestionStatus) == LeagueQuestionStatus.WaitNext)
+            if (LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.LeagueQuestionStatus) ==
+                LeagueQuestionStatus.Open ||
+                LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.LeagueQuestionStatus) ==
+                LeagueQuestionStatus.WaitNext)
                 return "雅集夜宴进行中...";
                 return "雅集夜宴进行中...";
 
 
-            if (LeagueDataManager.Instance.Type == LeagueJoinType.Join && LeagueDataManager.Instance.TeaPartyStatus == LeagueTeaPartyStatus.YesOpen && !LeagueDataManager.Instance.RoleTeapartyInfo.Status)
+            if (LeagueDataManager.Instance.Type == LeagueJoinType.Join &&
+                LeagueDataManager.Instance.TeaPartyStatus == LeagueTeaPartyStatus.YesOpen &&
+                !LeagueDataManager.Instance.RoleTeapartyInfo.Status)
                 return "茶话会挑战中...";
                 return "茶话会挑战中...";
 
 
             return "";
             return "";

+ 47 - 33
GameClient/Assets/Game/HotUpdate/Data/LimitedTimeGiftBoxDataManager.cs

@@ -1,6 +1,7 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
+using cfg.GfgCfg;
 using ET;
 using ET;
 
 
 namespace GFGGame
 namespace GFGGame
@@ -45,11 +46,13 @@ namespace GFGGame
             {
             {
                 if (activityInfo.EndTime >= TimeInfo.Instance.ServerNow())
                 if (activityInfo.EndTime >= TimeInfo.Instance.ServerNow())
                 {
                 {
-                    ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
+                    ActivityOpenCfg activityOpenCfg =
+                        CommonDataManager.Tables.TblActivityOpenCfg.GetOrDefault(activityInfo.ActivityId);
+
                     //判断是否是类型4的数据
                     //判断是否是类型4的数据
-                    if (activityOpenCfg.type == ActivityType.XSLB2)
+                    if (activityOpenCfg.Type == ActivityType.XSLB2)
                     {
                     {
-                        foreach (var shopCfgId in activityOpenCfg.paramsArr)
+                        foreach (var shopCfgId in activityOpenCfg.Params1)
                         {
                         {
                             FillData(_ltgGbItemData4, shopCfgId, activityInfo.EndTime);
                             FillData(_ltgGbItemData4, shopCfgId, activityInfo.EndTime);
                         }
                         }
@@ -68,11 +71,12 @@ namespace GFGGame
             {
             {
                 if (activityInfo.EndTime >= TimeInfo.Instance.ServerNow())
                 if (activityInfo.EndTime >= TimeInfo.Instance.ServerNow())
                 {
                 {
-                    ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
+                    ActivityOpenCfg activityOpenCfg =
+                        CommonDataManager.Tables.TblActivityOpenCfg.GetOrDefault(activityInfo.ActivityId);
                     //判断是否是类型4的数据
                     //判断是否是类型4的数据
-                    if (activityOpenCfg.type == ActivityType.XSLB3)
+                    if (activityOpenCfg.Type == ActivityType.XSLB3)
                     {
                     {
-                        FillData(_ltgGbItemData5, activityOpenCfg.paramsArr[0], activityInfo.EndTime);
+                        FillData(_ltgGbItemData5, activityOpenCfg.Params1[0], activityInfo.EndTime);
                     }
                     }
                 }
                 }
             }
             }
@@ -88,11 +92,12 @@ namespace GFGGame
             {
             {
                 if (activityInfo.EndTime >= TimeInfo.Instance.ServerNow())
                 if (activityInfo.EndTime >= TimeInfo.Instance.ServerNow())
                 {
                 {
-                    ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
+                    ActivityOpenCfg activityOpenCfg =
+                        CommonDataManager.Tables.TblActivityOpenCfg.GetOrDefault(activityInfo.ActivityId);
                     //判断是否是类型16的数据
                     //判断是否是类型16的数据
-                    if (activityOpenCfg.type == ActivityType.LuckyDiscount)
+                    if (activityOpenCfg.Type == ActivityType.LuckyDiscount)
                     {
                     {
-                        FillData(_ltgGbItemData16, activityOpenCfg.paramsArr[0], activityInfo.EndTime);
+                        FillData(_ltgGbItemData16, activityOpenCfg.Params1[0], activityInfo.EndTime);
                     }
                     }
                 }
                 }
             }
             }
@@ -102,7 +107,7 @@ namespace GFGGame
 
 
         private void FillData(List<LimitedTimeGiftBoxItemYxData> listData, int shopCfgId, long endTime)
         private void FillData(List<LimitedTimeGiftBoxItemYxData> listData, int shopCfgId, long endTime)
         {
         {
-            ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(shopCfgId);
+            ShopCfg shopCfg = CommonDataManager.Tables.TblShopCfg.GetOrDefault(shopCfgId);
 
 
             if (shopCfg == null)
             if (shopCfg == null)
             {
             {
@@ -116,14 +121,14 @@ namespace GFGGame
                 listData.Add(new LimitedTimeGiftBoxItemYxData
                 listData.Add(new LimitedTimeGiftBoxItemYxData
                 {
                 {
                     EndTime = endTime,
                     EndTime = endTime,
-                    ShopCfgId = shopCfg.id,
-                    IndexType = shopCfg.menu2
+                    ShopCfgId = shopCfg.Id,
+                    IndexType = shopCfg.Menu2
                 });
                 });
             }
             }
             else
             else
             {
             {
                 var index = listData.IndexOf(ltgGbItemData);
                 var index = listData.IndexOf(ltgGbItemData);
-                ltgGbItemData.IndexType = shopCfg.menu2;
+                ltgGbItemData.IndexType = shopCfg.Menu2;
                 ltgGbItemData.EndTime = endTime;
                 ltgGbItemData.EndTime = endTime;
                 listData[index] = ltgGbItemData;
                 listData[index] = ltgGbItemData;
             }
             }
@@ -133,21 +138,23 @@ namespace GFGGame
         public bool SpecialOfferGiftBoxCanBuy()
         public bool SpecialOfferGiftBoxCanBuy()
         {
         {
             var activityInfoByTypeList =
             var activityInfoByTypeList =
-             ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB1);
+                ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB1);
             var list = activityInfoByTypeList
             var list = activityInfoByTypeList
                 .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
                 .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
-            if(list.Count == 0)
+            if (list.Count == 0)
                 return false;
                 return false;
 
 
             bool isSoldOut = true;
             bool isSoldOut = true;
             foreach (var activityInfo in list)
             foreach (var activityInfo in list)
             {
             {
-                ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
-                var paramsArr = activityOpenCfg.paramsArr;
+                ActivityOpenCfg activityOpenCfg =
+                    CommonDataManager.Tables.TblActivityOpenCfg.GetOrDefault(activityInfo.ActivityId);
+                var paramsArr = activityOpenCfg.Params1;
                 foreach (var shopCfgId in paramsArr)
                 foreach (var shopCfgId in paramsArr)
                 {
                 {
-                    var shopCfg = ShopCfgArray.Instance.GetCfg(shopCfgId);
-                    var remainBuyNum = shopCfg.maxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(shopCfgId);
+                    var shopCfg = CommonDataManager.Tables.TblShopCfg.GetOrDefault(shopCfgId);
+
+                    var remainBuyNum = shopCfg.MaxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(shopCfgId);
                     //只要有一个商品还能购买,就不是售罄
                     //只要有一个商品还能购买,就不是售罄
                     if (remainBuyNum > 0)
                     if (remainBuyNum > 0)
                     {
                     {
@@ -165,44 +172,50 @@ namespace GFGGame
         {
         {
             int activityId = 0;
             int activityId = 0;
             foreach (ActivityInfo activityInfo in ActivityGlobalDataManager.Instance.GetActivityInfoByType(
             foreach (ActivityInfo activityInfo in ActivityGlobalDataManager.Instance.GetActivityInfoByType(
-                       ActivityType.XSLB1))
+                         ActivityType.XSLB1))
             {
             {
-                if (activityInfo.EndTime >= TimeInfo.Instance.ServerNow()) { 
+                if (activityInfo.EndTime >= TimeInfo.Instance.ServerNow())
+                {
                     activityId = activityInfo.ActivityId;
                     activityId = activityInfo.ActivityId;
                     break;
                     break;
                 }
                 }
             }
             }
-            ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityId);
+
+            ActivityOpenCfg activityOpenCfg = CommonDataManager.Tables.TblActivityOpenCfg.GetOrDefault(activityId);
+
             List<int> shopCfgIds = new List<int>();
             List<int> shopCfgIds = new List<int>();
             bool same = false;
             bool same = false;
             int sellShowId = 0;
             int sellShowId = 0;
-            var paramsArr = activityOpenCfg.paramsArr;
-            var params2Arr = activityOpenCfg.params2Arr;
-            for (int j = 0; j < params2Arr.Length; j++)
+            var paramsArr = activityOpenCfg.Params1;
+            var params2Arr = activityOpenCfg.Params2;
+            for (int j = 0; j < params2Arr.Count; j++)
             {
             {
-                for (int i = 0; i < paramsArr.Length; i++)
+                for (int i = 0; i < paramsArr.Count; i++)
                 {
                 {
                     if (params2Arr[j] == paramsArr[i])
                     if (params2Arr[j] == paramsArr[i])
                     {
                     {
-                        var shopCfg = ShopCfgArray.Instance.GetCfg(paramsArr[i]);
-                        bool isSellOut = shopCfg.maxBuyNum > 0 &&
-                            shopCfg.maxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(shopCfg.id) <= 0;
+                        var shopCfg = CommonDataManager.Tables.TblShopCfg.GetOrDefault(paramsArr[i]);
+                        bool isSellOut = shopCfg.MaxBuyNum > 0 &&
+                                         shopCfg.MaxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(shopCfg.Id) <=
+                                         0;
                         if (!isSellOut)
                         if (!isSellOut)
                             sellShowId = paramsArr[i];
                             sellShowId = paramsArr[i];
                         break;
                         break;
                     }
                     }
                 }
                 }
+
                 if (sellShowId > 0)
                 if (sellShowId > 0)
                     break;
                     break;
             }
             }
+
             if (sellShowId <= 0)
             if (sellShowId <= 0)
-                sellShowId = params2Arr[params2Arr.Length - 1];
+                sellShowId = params2Arr[params2Arr.Count - 1];
 
 
             shopCfgIds.Add(sellShowId);
             shopCfgIds.Add(sellShowId);
-            for (int i = 0; i < paramsArr.Length; i++)
+            for (int i = 0; i < paramsArr.Count; i++)
             {
             {
                 same = false;
                 same = false;
-                for (int j = 0; j < params2Arr.Length; j++)
+                for (int j = 0; j < params2Arr.Count; j++)
                 {
                 {
                     if (params2Arr[j] == paramsArr[i])
                     if (params2Arr[j] == paramsArr[i])
                     {
                     {
@@ -210,11 +223,12 @@ namespace GFGGame
                         break;
                         break;
                     }
                     }
                 }
                 }
+
                 if (!same)
                 if (!same)
                     shopCfgIds.Add(paramsArr[i]);
                     shopCfgIds.Add(paramsArr[i]);
             }
             }
+
             return shopCfgIds;
             return shopCfgIds;
         }
         }
-
     }
     }
 }
 }

+ 83 - 53
GameClient/Assets/Game/HotUpdate/Data/LuckyBoxDataManager.cs

@@ -7,14 +7,14 @@ using UnityEngine.Video;
 using YooAsset;
 using YooAsset;
 using GFGGame.Launcher;
 using GFGGame.Launcher;
 using System.Collections;
 using System.Collections;
+using cfg.GfgCfg;
 
 
 namespace GFGGame
 namespace GFGGame
 {
 {
     public class LuckyBoxDataManager : SingletonBase<LuckyBoxDataManager>
     public class LuckyBoxDataManager : SingletonBase<LuckyBoxDataManager>
     {
     {
-
-        public const int BOX_ID_2 = 2;//常驻奖池2
-        public const int BOX_ID_3 = 3;//常驻奖池2
+        public const int BOX_ID_2 = 2; //常驻奖池2
+        public const int BOX_ID_3 = 3; //常驻奖池2
 
 
         public const int ONCE_TIME = 1;
         public const int ONCE_TIME = 1;
         public const int TEN_TIME = 10;
         public const int TEN_TIME = 10;
@@ -26,12 +26,12 @@ namespace GFGGame
 
 
         public bool OPEN_LUCKY_DISCONT = false; //抽奖满20次幸运折扣弹窗是否打开
         public bool OPEN_LUCKY_DISCONT = false; //抽奖满20次幸运折扣弹窗是否打开
 
 
-        private List<ItemData> _rewardsList;//当前奖励,每次抽奖后刷新
-        private Dictionary<int, ItemData> _firstRewardsList = new Dictionary<int, ItemData>();//首次获得的奖励
+        private List<ItemData> _rewardsList; //当前奖励,每次抽奖后刷新
+        private Dictionary<int, ItemData> _firstRewardsList = new Dictionary<int, ItemData>(); //首次获得的奖励
         private Dictionary<int, List<LuckyBoxBonusData>> _dicShowList = new Dictionary<int, List<LuckyBoxBonusData>>();
         private Dictionary<int, List<LuckyBoxBonusData>> _dicShowList = new Dictionary<int, List<LuckyBoxBonusData>>();
 
 
-        public List<int> luckyBoxIds = new List<int>();//奖池列表
-        public int RotatingId = 0;//轮换活动id。0为未开启
+        public List<int> luckyBoxIds = new List<int>(); //奖池列表
+        public int RotatingId = 0; //轮换活动id。0为未开启
         public long startTime = 1668873600000;
         public long startTime = 1668873600000;
         public long endTime = 1672156799000;
         public long endTime = 1672156799000;
         public List<int> KsActivityId = new List<int>(); //活动ids--只存放开启中的许愿池活动id 
         public List<int> KsActivityId = new List<int>(); //活动ids--只存放开启中的许愿池活动id 
@@ -51,6 +51,7 @@ namespace GFGGame
         public RawFileOperationHandle videoHandle = null;
         public RawFileOperationHandle videoHandle = null;
 
 
         public List<ItemInfoProto> BlindBoxReward = new List<ItemInfoProto>();
         public List<ItemInfoProto> BlindBoxReward = new List<ItemInfoProto>();
+
         public List<ItemData> RewardList
         public List<ItemData> RewardList
         {
         {
             get { return _rewardsList; }
             get { return _rewardsList; }
@@ -65,10 +66,12 @@ namespace GFGGame
                     {
                     {
                         _firstRewardsList.Add(dicIndex, itemData);
                         _firstRewardsList.Add(dicIndex, itemData);
                     }
                     }
+
                     dicIndex++;
                     dicIndex++;
                 }
                 }
             }
             }
         }
         }
+
         public Dictionary<int, ItemData> FirstRewardList
         public Dictionary<int, ItemData> FirstRewardList
         {
         {
             get { return _firstRewardsList; }
             get { return _firstRewardsList; }
@@ -76,12 +79,10 @@ namespace GFGGame
         }
         }
 
 
         private int _currentBoxId = 2;
         private int _currentBoxId = 2;
+
         public int currentBoxId
         public int currentBoxId
         {
         {
-            get
-            {
-                return _currentBoxId;
-            }
+            get { return _currentBoxId; }
             set
             set
             {
             {
                 if (_currentBoxId != value)
                 if (_currentBoxId != value)
@@ -100,6 +101,7 @@ namespace GFGGame
             {
             {
                 luckyBoxFreeTimeMillDic[response.KsLuckyBoxId[i]] = response.VsFreeTime[i];
                 luckyBoxFreeTimeMillDic[response.KsLuckyBoxId[i]] = response.VsFreeTime[i];
             }
             }
+
             luckyBoxPlayTimesDic.Clear();
             luckyBoxPlayTimesDic.Clear();
             count = response.KsPlayedId.Count;
             count = response.KsPlayedId.Count;
             for (var i = 0; i < count; i++)
             for (var i = 0; i < count; i++)
@@ -136,11 +138,11 @@ namespace GFGGame
 
 
         public void InitData(int boxId)
         public void InitData(int boxId)
         {
         {
-            LuckyBoxCfg luckyBoxCfg = LuckyBoxCfgArray.Instance.GetCfg(boxId);
+            LuckyBoxCfg luckyBoxCfg = CommonDataManager.Tables.TblLuckyBoxCfg.GetOrDefault(boxId);
+
             if (!_dicShowList.ContainsKey(boxId))
             if (!_dicShowList.ContainsKey(boxId))
             {
             {
-                _dicShowList[boxId] = InitBonusDataList(luckyBoxCfg.dropId);
-
+                _dicShowList[boxId] = InitBonusDataList(luckyBoxCfg.DropId);
             }
             }
         }
         }
 
 
@@ -153,41 +155,47 @@ namespace GFGGame
             {
             {
                 list.Add(t.Value);
                 list.Add(t.Value);
             }
             }
+
             list.Sort(CompareBonusData);
             list.Sort(CompareBonusData);
             return list;
             return list;
         }
         }
 
 
         private void AddToBonusDataDic(int dropId, Dictionary<int, LuckyBoxBonusData> dic)
         private void AddToBonusDataDic(int dropId, Dictionary<int, LuckyBoxBonusData> dic)
         {
         {
-            List<DropOutCfg> cfgs = DropOutCfgArray.Instance.GetCfgsByid(dropId);
+            List<DropOutCfg> cfgs = CommonDataManager.Tables.TblDropOutCfg.GetGroup1ById(dropId);
             if (cfgs == null)
             if (cfgs == null)
             {
             {
                 return;
                 return;
             }
             }
+
             foreach (DropOutCfg cfg in cfgs)
             foreach (DropOutCfg cfg in cfgs)
             {
             {
-                if (cfg.item > ConstItemID.MAX_ITEM_ID)//掉落id
+                if (cfg.Item > ConstItemID.MAX_ITEM_ID) //掉落id
                 {
                 {
-                    AddToBonusDataDic(cfg.item, dic);
+                    AddToBonusDataDic(cfg.Item, dic);
                 }
                 }
                 else
                 else
                 {
                 {
-                    var group = cfg.group;
-                    if (cfg.group <= 0)
+                    var group = cfg.Group;
+                    if (cfg.Group <= 0)
                     {
                     {
-                        ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(cfg.item);
-                        if (itemCfg == null || itemCfg.suitId <= 0)
+                        ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(cfg.Item);
+
+                        if (itemCfg == null || itemCfg.SuitId <= 0)
                         {
                         {
                             continue;
                             continue;
                         }
                         }
-                        group = itemCfg.suitId;
+
+                        group = itemCfg.SuitId;
                     }
                     }
+
                     LuckyBoxBonusData luckyBoxBonusData = GetBonusData(group, dic);
                     LuckyBoxBonusData luckyBoxBonusData = GetBonusData(group, dic);
                     if (luckyBoxBonusData == null)
                     if (luckyBoxBonusData == null)
                     {
                     {
                         continue;
                         continue;
                     }
                     }
-                    luckyBoxBonusData.itemList.Add(ItemUtil.createItemData(cfg.item, 1));
+
+                    luckyBoxBonusData.itemList.Add(ItemUtil.createItemData(cfg.Item, 1));
                 }
                 }
             }
             }
         }
         }
@@ -199,24 +207,28 @@ namespace GFGGame
             {
             {
                 return luckyBoxBonusData;
                 return luckyBoxBonusData;
             }
             }
+
             luckyBoxBonusData = new LuckyBoxBonusData();
             luckyBoxBonusData = new LuckyBoxBonusData();
             luckyBoxBonusData.id = group;
             luckyBoxBonusData.id = group;
-            BonusListCfg bonusListCfg = BonusListCfgArray.Instance.GetCfg(group);
+            BonusListCfg bonusListCfg = CommonDataManager.Tables.TblBonusListCfg.GetOrDefault(group);
             if (bonusListCfg != null)
             if (bonusListCfg != null)
             {
             {
-                luckyBoxBonusData.name = bonusListCfg.name;
-                luckyBoxBonusData.order = bonusListCfg.sort;
+                luckyBoxBonusData.name = bonusListCfg.Name;
+                luckyBoxBonusData.order = bonusListCfg.Sort;
             }
             }
             else
             else
             {
             {
-                SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(group);
+                SuitCfg suitCfg = CommonDataManager.Tables.TblSuitCfg.GetOrDefault(group);
+
                 if (suitCfg == null)
                 if (suitCfg == null)
                 {
                 {
                     return null;
                     return null;
                 }
                 }
-                luckyBoxBonusData.name = suitCfg.name;
+
+                luckyBoxBonusData.name = suitCfg.Name;
                 luckyBoxBonusData.order = 9999;
                 luckyBoxBonusData.order = 9999;
             }
             }
+
             dic.Add(group, luckyBoxBonusData);
             dic.Add(group, luckyBoxBonusData);
             return luckyBoxBonusData;
             return luckyBoxBonusData;
         }
         }
@@ -227,10 +239,12 @@ namespace GFGGame
             {
             {
                 return 1;
                 return 1;
             }
             }
+
             if (b.order > a.order)
             if (b.order > a.order)
             {
             {
                 return -1;
                 return -1;
             }
             }
+
             return a.id - b.id;
             return a.id - b.id;
         }
         }
 
 
@@ -246,6 +260,7 @@ namespace GFGGame
                     {
                     {
                         count++;
                         count++;
                     }
                     }
+
                     totalCount++;
                     totalCount++;
                 }
                 }
             }
             }
@@ -269,18 +284,22 @@ namespace GFGGame
 
 
         public void CheckItemEnough(int boxId, int times, Action onSuccess)
         public void CheckItemEnough(int boxId, int times, Action onSuccess)
         {
         {
-            int costId = LuckyBoxCfgArray.Instance.GetCfg(boxId).costID;
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(costId);
+            int costId = CommonDataManager.Tables.TblLuckyBoxCfg.GetOrDefault(boxId).CostID;
+
+            ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(costId);
+
             int costNum = GetCostNum(boxId, times);
             int costNum = GetCostNum(boxId, times);
-            long hasNum = ItemDataManager.GetItemNum(itemCfg.id);
+            long hasNum = ItemDataManager.GetItemNum(itemCfg.Id);
             long freeTime = LuckyBoxDataManager.Instance.GetFreeTime(boxId);
             long freeTime = LuckyBoxDataManager.Instance.GetFreeTime(boxId);
-            if (freeTime > 0 && freeTime < TimeHelper.ServerNow() && times == LuckyBoxDataManager.ONCE_TIME) {
+            if (freeTime > 0 && freeTime < TimeHelper.ServerNow() && times == LuckyBoxDataManager.ONCE_TIME)
+            {
                 onSuccess();
                 onSuccess();
             }
             }
             else if (hasNum >= costNum)
             else if (hasNum >= costNum)
             {
             {
-                if(LuckyBoxDataManager.Instance.CHECK_TIPS_OPEN == false)
-                    AlertUI.Show(string.Format("是否花费{0}个{1}摘星{2}次?", costNum, itemCfg.name, times)).SetLeftButton(true).SetRightButton(true, "确定", (object data) => { onSuccess(); }).SetShowCheck(true);
+                if (LuckyBoxDataManager.Instance.CHECK_TIPS_OPEN == false)
+                    AlertUI.Show(string.Format("是否花费{0}个{1}摘星{2}次?", costNum, itemCfg.Name, times)).SetLeftButton(true)
+                        .SetRightButton(true, "确定", (object data) => { onSuccess(); }).SetShowCheck(true);
                 else
                 else
                     onSuccess();
                     onSuccess();
             }
             }
@@ -288,28 +307,31 @@ namespace GFGGame
             {
             {
                 long needNum = costNum - hasNum;
                 long needNum = costNum - hasNum;
                 // ItemExchangeCfgArray.Instance.GetMoneyIdAndNum(costId, ItemDataManager.GetItemExchangeTimes(costId), times, out int costItemId, out int costItemNeedNum, out int buyNum);
                 // ItemExchangeCfgArray.Instance.GetMoneyIdAndNum(costId, ItemDataManager.GetItemExchangeTimes(costId), times, out int costItemId, out int costItemNeedNum, out int buyNum);
-                ItemExchangeCfg itemExchangeCfg = ItemExchangeCfgArray.Instance.GetCfg(costId);
+                ItemExchangeCfg itemExchangeCfg = CommonDataManager.Tables.TblItemExchangeCfg.GetOrDefault(costId);
+
                 int exchangedTimes = ItemDataManager.GetItemExchangeTimes(costId);
                 int exchangedTimes = ItemDataManager.GetItemExchangeTimes(costId);
                 int costItemNeedNum = 0;
                 int costItemNeedNum = 0;
                 int costbuyNum = 0;
                 int costbuyNum = 0;
                 int buyNum = 0;
                 int buyNum = 0;
                 for (var i = exchangedTimes + 1; i <= exchangedTimes + times; i++)
                 for (var i = exchangedTimes + 1; i <= exchangedTimes + times; i++)
                 {
                 {
-                    ItemExchangeCfgArray.Instance.GetCostAndBuyNum(itemExchangeCfg, i, out int _costNum, out int _buyNum);
+                    ItemExchangeCfgArray.Instance.GetCostAndBuyNum(itemExchangeCfg, i, out int _costNum,
+                        out int _buyNum);
                     costItemNeedNum += _costNum;
                     costItemNeedNum += _costNum;
                     costbuyNum += _buyNum;
                     costbuyNum += _buyNum;
-                    buyNum += itemExchangeCfg.num;
+                    buyNum += itemExchangeCfg.Num;
                     if (buyNum >= needNum) break;
                     if (buyNum >= needNum) break;
-
                 }
                 }
-                long costHasNum = ItemDataManager.GetItemNum(itemExchangeCfg.costId);
-                if (costHasNum >= costItemNeedNum)//购买消耗品的道具足够,提示购买
+
+                long costHasNum = ItemDataManager.GetItemNum(itemExchangeCfg.CostId);
+                if (costHasNum >= costItemNeedNum) //购买消耗品的道具足够,提示购买
                 {
                 {
                     if (costId == ConstItemID.GOLD)
                     if (costId == ConstItemID.GOLD)
                     {
                     {
                         ItemUtil.ExchangeItemById(costId, needNum, false, onSuccess);
                         ItemUtil.ExchangeItemById(costId, needNum, false, onSuccess);
                     }
                     }
-                    else {
+                    else
+                    {
                         if (LuckyBoxDataManager.Instance.CHECK_TIPS_OPEN == false)
                         if (LuckyBoxDataManager.Instance.CHECK_TIPS_OPEN == false)
                             BuyTipsController.Show(costId, needNum, onSuccess, true);
                             BuyTipsController.Show(costId, needNum, onSuccess, true);
                         else
                         else
@@ -318,9 +340,10 @@ namespace GFGGame
                         }
                         }
                     }
                     }
                 }
                 }
-                else//购买消耗品的道具不足,提示购买 购买消耗品的道具
+                else //购买消耗品的道具不足,提示购买 购买消耗品的道具
                 {
                 {
-                    ItemUtil.ExchangeItemById(itemExchangeCfg.costId, costItemNeedNum - costHasNum, true, null, true, GameConst.MAX_COUNT_TO_BUY_DIAMOND_RED, true);
+                    ItemUtil.ExchangeItemById(itemExchangeCfg.CostId, costItemNeedNum - costHasNum, true, null, true,
+                        GameConst.MAX_COUNT_TO_BUY_DIAMOND_RED, true);
                 }
                 }
             }
             }
         }
         }
@@ -334,19 +357,21 @@ namespace GFGGame
 
 
         private int GetCostNum(int boxId, int times)
         private int GetCostNum(int boxId, int times)
         {
         {
-            LuckyBoxCfg cfg = LuckyBoxCfgArray.Instance.GetCfg(boxId);
+            LuckyBoxCfg cfg = CommonDataManager.Tables.TblLuckyBoxCfg.GetOrDefault(boxId);
+
             if (times == LuckyBoxDataManager.ONCE_TIME)
             if (times == LuckyBoxDataManager.ONCE_TIME)
             {
             {
-                return cfg.costNum;
+                return cfg.CostNum;
             }
             }
             else if (times == LuckyBoxDataManager.TEN_TIME)
             else if (times == LuckyBoxDataManager.TEN_TIME)
             {
             {
-                return cfg.costNumTen;
+                return cfg.CostNumTen;
             }
             }
             else if (times == LuckyBoxDataManager.FIFTY_TIME)
             else if (times == LuckyBoxDataManager.FIFTY_TIME)
             {
             {
-                return cfg.costNumfifty;
+                return cfg.CostNumfifty;
             }
             }
+
             return 0;
             return 0;
         }
         }
 
 
@@ -360,7 +385,8 @@ namespace GFGGame
                 if (freeTime > 0 && freeTime - TimeHelper.ServerNow() < 0)
                 if (freeTime > 0 && freeTime - TimeHelper.ServerNow() < 0)
                     return true;
                     return true;
 
 
-                if (index == 1 && RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitTsy))
+                if (index == 1 &&
+                    RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitTsy))
                     return true;
                     return true;
             }
             }
 
 
@@ -370,13 +396,15 @@ namespace GFGGame
         public bool RedBtnRight(int curIndex)
         public bool RedBtnRight(int curIndex)
         {
         {
             var luckyBoxIds = LuckyBoxDataManager.Instance.luckyBoxIds;
             var luckyBoxIds = LuckyBoxDataManager.Instance.luckyBoxIds;
-            for (int i = curIndex + 1; i < luckyBoxIds.Count; i++) {
+            for (int i = curIndex + 1; i < luckyBoxIds.Count; i++)
+            {
                 int boxId = luckyBoxIds[i];
                 int boxId = luckyBoxIds[i];
                 long freeTime = LuckyBoxDataManager.Instance.GetFreeTime(boxId);
                 long freeTime = LuckyBoxDataManager.Instance.GetFreeTime(boxId);
                 if (freeTime > 0 && freeTime - TimeHelper.ServerNow() < 0)
                 if (freeTime > 0 && freeTime - TimeHelper.ServerNow() < 0)
                     return true;
                     return true;
 
 
-                if (curIndex == 1 && RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitTsy))
+                if (curIndex == 1 &&
+                    RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitTsy))
                     return true;
                     return true;
             }
             }
 
 
@@ -386,11 +414,13 @@ namespace GFGGame
         //天市垣开服活动是否开启
         //天市垣开服活动是否开启
         public bool GetActLimitTsyOpen()
         public bool GetActLimitTsyOpen()
         {
         {
-            int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitTsy);
-            var activityCfg = ActivityOpenCfgArray.Instance.GetCfg(activityId);
+            int activityId =
+                ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitTsy);
+            var activityCfg = CommonDataManager.Tables.TblActivityOpenCfg.GetOrDefault(activityId);
+
             long endTime = 0;
             long endTime = 0;
             if (activityCfg != null)
             if (activityCfg != null)
-                endTime = TimeUtil.DateTimeToTimestamp(activityCfg.endTime);
+                endTime = TimeUtil.DateTimeToTimestamp(activityCfg.EndTime);
             long curTime = TimeHelper.ServerNow();
             long curTime = TimeHelper.ServerNow();
             if (endTime < curTime)
             if (endTime < curTime)
                 return false;
                 return false;

+ 59 - 33
GameClient/Assets/Game/HotUpdate/Data/MainStoryDataManager.cs

@@ -1,6 +1,7 @@
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System;
 using System;
+using cfg.GfgCfg;
 using UnityEngine;
 using UnityEngine;
 using ET;
 using ET;
 using ProtoBuf.Meta;
 using ProtoBuf.Meta;
@@ -9,38 +10,40 @@ namespace GFGGame
 {
 {
     public class MainStoryDataManager
     public class MainStoryDataManager
     {
     {
-        public static string priorId = "prior";//首次登录前置剧情id
+        public static string priorId = "prior"; //首次登录前置剧情id
 
 
         //剧情副本专用当前章节
         //剧情副本专用当前章节
         public static int currentChapterCfgId = 0;
         public static int currentChapterCfgId = 0;
+
         //剧情副本专用当前关卡序号,从1开始
         //剧情副本专用当前关卡序号,从1开始
         public static int CurrentChapterOrder
         public static int CurrentChapterOrder
         {
         {
             get
             get
             {
             {
-                var chapterCfg = StoryChapterCfgArray.Instance.GetCfg(currentChapterCfgId);
+                var chapterCfg = CommonDataManager.Tables.TblStoryChapterCfg.GetOrDefault(currentChapterCfgId);
+
                 if (chapterCfg != null)
                 if (chapterCfg != null)
                 {
                 {
-                    return chapterCfg.order;
+                    return chapterCfg.Order;
                 }
                 }
+
                 return 0;
                 return 0;
             }
             }
         }
         }
+
         //剧情副本专用关卡编号
         //剧情副本专用关卡编号
         private static int _currentLevelCfgId;
         private static int _currentLevelCfgId;
+
         public static int currentLevelCfgId
         public static int currentLevelCfgId
         {
         {
-            get
-            {
-                return _currentLevelCfgId;
-            }
+            get { return _currentLevelCfgId; }
             set
             set
             {
             {
                 int lastLevelCfgId = _currentLevelCfgId;
                 int lastLevelCfgId = _currentLevelCfgId;
-                var lastLevelCfg = StoryLevelCfgArray.Instance.GetCfg(_currentLevelCfgId);
+                var lastLevelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(_currentLevelCfgId);
                 _currentLevelCfgId = value;
                 _currentLevelCfgId = value;
-                var levelCfg = StoryLevelCfgArray.Instance.GetCfg(_currentLevelCfgId);
-                currentChapterCfgId = levelCfg == null ? lastLevelCfg.chapterId : levelCfg.chapterId;
+                var levelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(_currentLevelCfgId);
+                currentChapterCfgId = levelCfg == null ? lastLevelCfg.ChapterId : levelCfg.ChapterId;
             }
             }
         }
         }
 
 
@@ -66,6 +69,7 @@ namespace GFGGame
                 states = new int[] { 0, 0, 0 };
                 states = new int[] { 0, 0, 0 };
                 _chapterBonusDic.Add(chapter, states);
                 _chapterBonusDic.Add(chapter, states);
             }
             }
+
             CalculateHelper.GenerateChapterBoxStates(states, stateInt);
             CalculateHelper.GenerateChapterBoxStates(states, stateInt);
         }
         }
 
 
@@ -80,6 +84,7 @@ namespace GFGGame
                     return states[index];
                     return states[index];
                 }
                 }
             }
             }
+
             return ConstBonusStatus.CAN_NOT_GET;
             return ConstBonusStatus.CAN_NOT_GET;
         }
         }
 
 
@@ -97,73 +102,88 @@ namespace GFGGame
         //检查指定章节对应的普通章节是否通关
         //检查指定章节对应的普通章节是否通关
         public static bool CheckNeedChapterPass(int chapterId, out int needChapterId)
         public static bool CheckNeedChapterPass(int chapterId, out int needChapterId)
         {
         {
-            StoryChapterCfg chapterCfg = StoryChapterCfgArray.Instance.GetCfg(chapterId);
-            needChapterId = chapterCfg.needChapterId;
-            if (chapterCfg.needChapterId > 0)
+            StoryChapterCfg chapterCfg = CommonDataManager.Tables.TblStoryChapterCfg.GetOrDefault(chapterId);
+
+            needChapterId = chapterCfg.NeedChapterId;
+            if (chapterCfg.NeedChapterId > 0)
             {
             {
-                var preChapterCfg = StoryChapterCfgArray.Instance.GetCfg(chapterCfg.needChapterId);
+                var preChapterCfg = CommonDataManager.Tables.TblStoryChapterCfg.GetOrDefault(chapterCfg.NeedChapterId);
                 if (preChapterCfg != null)
                 if (preChapterCfg != null)
                 {
                 {
-                    return InstanceZonesDataManager.CheckChapterPass(preChapterCfg.type, preChapterCfg.subType, preChapterCfg.id, preChapterCfg.levelCount);
+                    return InstanceZonesDataManager.CheckChapterPass(preChapterCfg.Type, preChapterCfg.SubType,
+                        preChapterCfg.Id, preChapterCfg.LevelCount);
                 }
                 }
             }
             }
+
             return true;
             return true;
         }
         }
+
         public static int CheckChapterPassIndex(int subtype)
         public static int CheckChapterPassIndex(int subtype)
         {
         {
             int count = 2;
             int count = 2;
-            List<StoryChapterCfg> chapList = StoryChapterCfgArray.Instance.GetCfgsBysubType(subtype);
+            List<StoryChapterCfg> chapList = CommonDataManager.Tables.TblStoryChapterCfg.GetGroup1BySubType(subtype);
             foreach (StoryChapterCfg item in chapList)
             foreach (StoryChapterCfg item in chapList)
             {
             {
-                var preChapterCfg = StoryChapterCfgArray.Instance.GetCfg(item.id);
+                var preChapterCfg = CommonDataManager.Tables.TblStoryChapterCfg.GetOrDefault(item.Id);
                 if (preChapterCfg != null)
                 if (preChapterCfg != null)
                 {
                 {
-                    if(InstanceZonesDataManager.CheckChapterPass(preChapterCfg.type, preChapterCfg.subType, preChapterCfg.id, preChapterCfg.levelCount))
+                    if (InstanceZonesDataManager.CheckChapterPass(preChapterCfg.Type, preChapterCfg.SubType,
+                            preChapterCfg.Id, preChapterCfg.LevelCount))
                     {
                     {
                         count++;
                         count++;
                     }
                     }
                 }
                 }
             }
             }
-            if(count> chapList.Count)
+
+            if (count > chapList.Count)
             {
             {
                 count = chapList.Count;
                 count = chapList.Count;
             }
             }
+
             return count;
             return count;
         }
         }
 
 
         public static bool CheckChapterUnlock(int chapterId, bool checkRoleLv = true)
         public static bool CheckChapterUnlock(int chapterId, bool checkRoleLv = true)
         {
         {
-            StoryChapterCfg chapterCfg = StoryChapterCfgArray.Instance.GetCfg(chapterId);
-            if (checkRoleLv && GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl) < chapterCfg.lvl)
+            StoryChapterCfg chapterCfg = CommonDataManager.Tables.TblStoryChapterCfg.GetOrDefault(chapterId);
+
+            if (checkRoleLv && GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl) < chapterCfg.Lvl)
             {
             {
                 return false;
                 return false;
             }
             }
+
             //上一关卡
             //上一关卡
             int preChapterId = chapterId - 1;
             int preChapterId = chapterId - 1;
-            var preChapterCfg = StoryChapterCfgArray.Instance.GetCfg(preChapterId);
+            var preChapterCfg = CommonDataManager.Tables.TblStoryChapterCfg.GetOrDefault(preChapterId);
             if (preChapterCfg != null)
             if (preChapterCfg != null)
             {
             {
-                if(!InstanceZonesDataManager.CheckChapterPass(preChapterCfg.type, preChapterCfg.subType, preChapterCfg.id, preChapterCfg.levelCount))
+                if (!InstanceZonesDataManager.CheckChapterPass(preChapterCfg.Type, preChapterCfg.SubType,
+                        preChapterCfg.Id, preChapterCfg.LevelCount))
                 {
                 {
                     return false;
                     return false;
                 }
                 }
             }
             }
+
             //前置关卡
             //前置关卡
             return CheckNeedChapterPass(chapterId, out var needChapterId);
             return CheckNeedChapterPass(chapterId, out var needChapterId);
         }
         }
 
 
         public static bool CheckLevelUnlock(int levelCfgId, bool checkRoleLv = true)
         public static bool CheckLevelUnlock(int levelCfgId, bool checkRoleLv = true)
         {
         {
-            var levelCfg = StoryLevelCfgArray.Instance.GetCfg(levelCfgId);
+            var levelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(levelCfgId);
+
             if (levelCfg != null)
             if (levelCfg != null)
             {
             {
-                if (!CheckChapterUnlock(levelCfg.chapterId, checkRoleLv))
+                if (!CheckChapterUnlock(levelCfg.ChapterId, checkRoleLv))
                 {
                 {
                     return false;
                     return false;
                 }
                 }
-                var passLevelOrder = InstanceZonesDataManager.GetPassLevelOrder(levelCfg.type, levelCfg.subType, levelCfg.chapterId);
-                return levelCfg.order <= passLevelOrder + 1;
+
+                var passLevelOrder =
+                    InstanceZonesDataManager.GetPassLevelOrder(levelCfg.Type, levelCfg.SubType, levelCfg.ChapterId);
+                return levelCfg.Order <= passLevelOrder + 1;
             }
             }
+
             return false;
             return false;
         }
         }
 
 
@@ -181,11 +201,13 @@ namespace GFGGame
         //获取章节难度(普通或者精英)
         //获取章节难度(普通或者精英)
         public static int GetChapterSubType(int chapterId)
         public static int GetChapterSubType(int chapterId)
         {
         {
-            var chapterCfg = StoryChapterCfgArray.Instance.GetCfg(chapterId);
+            var chapterCfg = CommonDataManager.Tables.TblStoryChapterCfg.GetOrDefault(chapterId);
+
             if (chapterCfg != null)
             if (chapterCfg != null)
             {
             {
-                return chapterCfg.subType;
+                return chapterCfg.SubType;
             }
             }
+
             return ConstInstanceZonesSubType.Normal;
             return ConstInstanceZonesSubType.Normal;
         }
         }
 
 
@@ -194,20 +216,24 @@ namespace GFGGame
 
 
         public static bool GetChapterRewardStatus()
         public static bool GetChapterRewardStatus()
         {
         {
-            foreach(var item in ChapterRewardStatusDic)
+            foreach (var item in ChapterRewardStatusDic)
             {
             {
-                StoryChapterCfg chapterRewardCfg = StoryChapterCfgArray.Instance.GetCfg(item.Key);
-                if(chapterRewardCfg.type == 1 && chapterRewardCfg.subType == 1)
+                StoryChapterCfg chapterRewardCfg = CommonDataManager.Tables.TblStoryChapterCfg.GetOrDefault(item.Key);
+
+                if (chapterRewardCfg.Type == 1 && chapterRewardCfg.SubType == 1)
                 {
                 {
                     continue;
                     continue;
                 }
                 }
-                if(item.Value == 1)
+
+                if (item.Value == 1)
                 {
                 {
                     return true;
                     return true;
                 }
                 }
             }
             }
+
             return false;
             return false;
         }
         }
+
         //关卡当前难度类型
         //关卡当前难度类型
         public static int currentChapterType = 0;
         public static int currentChapterType = 0;
     }
     }

+ 152 - 77
GameClient/Assets/Game/HotUpdate/Data/MatchingCompetitionDataManager.cs

@@ -1,5 +1,4 @@
-
-using ET;
+using ET;
 using System;
 using System;
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
@@ -9,6 +8,7 @@ using Live2D.Cubism.Rendering;
 using FairyGUI;
 using FairyGUI;
 using UI.MatchingCompetition;
 using UI.MatchingCompetition;
 using System.IO;
 using System.IO;
+using cfg.GfgCfg;
 
 
 namespace GFGGame
 namespace GFGGame
 {
 {
@@ -18,29 +18,39 @@ namespace GFGGame
         //public int type = 2;
         //public int type = 2;
         //位置信息数据索引
         //位置信息数据索引
         public int indexRoleData = 0;
         public int indexRoleData = 0;
+
         //人物位置信息
         //人物位置信息
         public TransformData roleTransFormData = new TransformData();
         public TransformData roleTransFormData = new TransformData();
         public GameObject roleGameobj;
         public GameObject roleGameobj;
+
         public string roleID = "Role";
         public string roleID = "Role";
+
         //*********************搭配数据*********************************
         //*********************搭配数据*********************************
         //需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
         //需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
         public DressUpData MathingDressDate = DressUpData.CreateDefault();
         public DressUpData MathingDressDate = DressUpData.CreateDefault();
+
         public int DressUpBgID = 0;
         public int DressUpBgID = 0;
+
         //*****这两个id放列表的最后面
         //*****这两个id放列表的最后面
         //边框id
         //边框id
         public int BorderID = 0;
         public int BorderID = 0;
+
         //NpcId
         //NpcId
         public int NpcID = 0;
         public int NpcID = 0;
+
         //*************=**************
         //*************=**************
         //道具数据,一一对应
         //道具数据,一一对应
         //场景名字,自己搭配的数据
         //场景名字,自己搭配的数据
         public List<string> DressPropNameList = new List<string>();
         public List<string> DressPropNameList = new List<string>();
+
         //道具id
         //道具id
         //public List<int> DressPropIdList = new List<int>();
         //public List<int> DressPropIdList = new List<int>();
         //道具索引
         //道具索引
         public int DressPropIndex = 0;
         public int DressPropIndex = 0;
+
         //道具索引字典
         //道具索引字典
         public Dictionary<string, TransformData> DressPropTransInfoDic = new Dictionary<string, TransformData>();
         public Dictionary<string, TransformData> DressPropTransInfoDic = new Dictionary<string, TransformData>();
+
         //道具位置信息
         //道具位置信息
         public List<TransformData> TransformDataList = new List<TransformData>();
         public List<TransformData> TransformDataList = new List<TransformData>();
         public List<GameObject> itemGameObjs = new List<GameObject>();
         public List<GameObject> itemGameObjs = new List<GameObject>();
@@ -58,25 +68,34 @@ namespace GFGGame
         public int MatchingRemainingTimes = 1;
         public int MatchingRemainingTimes = 1;
         public MyWorksIdInfo myWorks = new MyWorksIdInfo();
         public MyWorksIdInfo myWorks = new MyWorksIdInfo();
         public List<ItemInfoProto> SpecialBonusList = new List<ItemInfoProto>();
         public List<ItemInfoProto> SpecialBonusList = new List<ItemInfoProto>();
+
         /// <summary>
         /// <summary>
         /// 搭配赛相册
         /// 搭配赛相册
         /// </summary>
         /// </summary>
         /// <typeparam name="PoemPhotoData"></typeparam>
         /// <typeparam name="PoemPhotoData"></typeparam>
         /// <returns></returns>
         /// <returns></returns>
         public List<PoemPhotoData> MatchingPhotoInfos = new List<PoemPhotoData>();
         public List<PoemPhotoData> MatchingPhotoInfos = new List<PoemPhotoData>();
+
         //角色详情界面图片信息
         //角色详情界面图片信息
         public NTexture DetailNtexture;
         public NTexture DetailNtexture;
+
         //自己的搭配图片
         //自己的搭配图片
         public NTexture MyNtextture;
         public NTexture MyNtextture;
+
         public byte[] MyBytes;
         public byte[] MyBytes;
+
         //本期排行榜数据
         //本期排行榜数据
         public List<CurRanMatchingPhotoWorksData> _currentRankList = new List<CurRanMatchingPhotoWorksData>();
         public List<CurRanMatchingPhotoWorksData> _currentRankList = new List<CurRanMatchingPhotoWorksData>();
+
         //本期排行榜数据--协程锁变量
         //本期排行榜数据--协程锁变量
         public bool IsWork = false;
         public bool IsWork = false;
+
         //本期排行榜数据--协程消息队列
         //本期排行榜数据--协程消息队列
         public Queue<int> _coroutineQueue = new Queue<int>();
         public Queue<int> _coroutineQueue = new Queue<int>();
+
         //往期作品集
         //往期作品集
         public List<MatchingWorksData> _BeforeWorksList = new List<MatchingWorksData>();
         public List<MatchingWorksData> _BeforeWorksList = new List<MatchingWorksData>();
+
         //往期排行榜数据
         //往期排行榜数据
         public List<MatchingPhotoWorksData> _BeforeRankList = new List<MatchingPhotoWorksData>();
         public List<MatchingPhotoWorksData> _BeforeRankList = new List<MatchingPhotoWorksData>();
 
 
@@ -123,25 +142,27 @@ namespace GFGGame
         {
         {
             //将所有需要存储的信息转换成list
             //将所有需要存储的信息转换成list
             AllDressIDInfoList.Clear();
             AllDressIDInfoList.Clear();
-            foreach(var item in MathingDressDate.itemList)
+            foreach (var item in MathingDressDate.itemList)
             {
             {
                 CollocationInfo itemInfo = new CollocationInfo();
                 CollocationInfo itemInfo = new CollocationInfo();
                 itemInfo.ItemId = item.ToString();
                 itemInfo.ItemId = item.ToString();
                 itemInfo.ClientPosition = "";
                 itemInfo.ClientPosition = "";
                 AllDressIDInfoList.Add(itemInfo);
                 AllDressIDInfoList.Add(itemInfo);
             }
             }
+
             foreach (var item in DressPropTransInfoDic)
             foreach (var item in DressPropTransInfoDic)
             {
             {
                 CollocationInfo itemInfo = new CollocationInfo();
                 CollocationInfo itemInfo = new CollocationInfo();
                 itemInfo.ItemId = item.Key;
                 itemInfo.ItemId = item.Key;
                 string transStr = item.Value.position.x.ToString() + "_" + item.Value.position.y.ToString() + "_"
                 string transStr = item.Value.position.x.ToString() + "_" + item.Value.position.y.ToString() + "_"
-                    + item.Value.position.z.ToString()
-                   + "_" + item.Value.rotationZ.ToString()
-                   + "_" + item.Value.scale.x.ToString() + "_" +
-                   item.Value.scale.y.ToString() + "_" + item.Value.scale.z.ToString();
+                                  + item.Value.position.z.ToString()
+                                  + "_" + item.Value.rotationZ.ToString()
+                                  + "_" + item.Value.scale.x.ToString() + "_" +
+                                  item.Value.scale.y.ToString() + "_" + item.Value.scale.z.ToString();
                 itemInfo.ClientPosition = transStr;
                 itemInfo.ClientPosition = transStr;
                 AllDressIDInfoList.Add(itemInfo);
                 AllDressIDInfoList.Add(itemInfo);
             }
             }
+
             //for(int i = 0;i< DressPropIdList.Count;i++)
             //for(int i = 0;i< DressPropIdList.Count;i++)
             //{
             //{
             //    CollocationInfo itemInfo = new CollocationInfo();
             //    CollocationInfo itemInfo = new CollocationInfo();
@@ -163,6 +184,7 @@ namespace GFGGame
             itemActionInfo.ClientPosition = "";
             itemActionInfo.ClientPosition = "";
             AllDressIDInfoList.Add(itemActionInfo);
             AllDressIDInfoList.Add(itemActionInfo);
         }
         }
+
         //解析后台获取的信息
         //解析后台获取的信息
         public void AnalysisInfoToList()
         public void AnalysisInfoToList()
         {
         {
@@ -175,72 +197,83 @@ namespace GFGGame
             DressPropTransInfoDic.Clear();
             DressPropTransInfoDic.Clear();
             for (int i = 0; i < AllDressIDInfoList.Count; i++)
             for (int i = 0; i < AllDressIDInfoList.Count; i++)
             {
             {
-                if(AllDressIDInfoList[i].ItemId == roleID)
+                if (AllDressIDInfoList[i].ItemId == roleID)
                 {
                 {
                     //propIDList.Add(AllDressIDInfoList[i].ItemId);
                     //propIDList.Add(AllDressIDInfoList[i].ItemId);
                     //transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
                     //transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
                     if (!DressPropTransInfoDic.ContainsKey(AllDressIDInfoList[i].ItemId))
                     if (!DressPropTransInfoDic.ContainsKey(AllDressIDInfoList[i].ItemId))
                     {
                     {
-                        DressPropTransInfoDic.Add(AllDressIDInfoList[i].ItemId.ToString(), AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
+                        DressPropTransInfoDic.Add(AllDressIDInfoList[i].ItemId.ToString(),
+                            AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
                     }
                     }
                 }
                 }
                 else
                 else
                 {
                 {
-                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(GetIDByString(AllDressIDInfoList[i].ItemId));
-                    if (itemCfg != null && itemCfg.itemType == ConstItemType.DRESS_UP)
+                    ItemCfg itemCfg =
+                        CommonDataManager.Tables.TblItemCfg.GetOrDefault(GetIDByString(AllDressIDInfoList[i].ItemId));
+
+                    if (itemCfg != null && itemCfg.ItemType == ConstItemType.DRESS_UP)
                     {
                     {
-                        if(itemCfg.subType == 19 || itemCfg.subType == 17 || itemCfg.subType == 21|| itemCfg.subType == 22)
+                        if (itemCfg.SubType == 19 || itemCfg.SubType == 17 || itemCfg.SubType == 21 ||
+                            itemCfg.SubType == 22)
                         {
                         {
                             //记录道具和位置信息
                             //记录道具和位置信息
                             //propIDList.Add(GetIDByString(AllDressIDInfoList[i].ItemId));
                             //propIDList.Add(GetIDByString(AllDressIDInfoList[i].ItemId));
                             //transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
                             //transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
-                            if(GetIDListByString(AllDressIDInfoList[i].ItemId).Count > 1)
+                            if (GetIDListByString(AllDressIDInfoList[i].ItemId).Count > 1)
                             {
                             {
                                 if (!DressPropTransInfoDic.ContainsKey(AllDressIDInfoList[i].ItemId))
                                 if (!DressPropTransInfoDic.ContainsKey(AllDressIDInfoList[i].ItemId))
                                 {
                                 {
-                                    DressPropTransInfoDic.Add(AllDressIDInfoList[i].ItemId.ToString(), AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
+                                    DressPropTransInfoDic.Add(AllDressIDInfoList[i].ItemId.ToString(),
+                                        AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
                                 }
                                 }
-                            }                           
+                            }
                         }
                         }
-                        else if (itemCfg != null && itemCfg.subType == ConstDressUpItemType.BEI_JING)
+                        else if (itemCfg != null && itemCfg.SubType == ConstDressUpItemType.BEI_JING)
                         {
                         {
-                            DressUpBgID = itemCfg.id;
-                            MathingDressDate.bgId = itemCfg.id;
+                            DressUpBgID = itemCfg.Id;
+                            MathingDressDate.bgId = itemCfg.Id;
                         }
                         }
                         else
                         else
                         {
                         {
                             dressitemIDList.Add(GetIDByString(AllDressIDInfoList[i].ItemId));
                             dressitemIDList.Add(GetIDByString(AllDressIDInfoList[i].ItemId));
-                        }    
+                        }
                     }
                     }
-                    else if (itemCfg != null && itemCfg.itemType == ConstItemType.PHOTOGRAPH)
+                    else if (itemCfg != null && itemCfg.ItemType == ConstItemType.PHOTOGRAPH)
                     {
                     {
                         //记录道具和位置信息
                         //记录道具和位置信息
                         //propIDList.Add(GetIDByString(AllDressIDInfoList[i].ItemId));
                         //propIDList.Add(GetIDByString(AllDressIDInfoList[i].ItemId));
                         //transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
                         //transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
                         if (!DressPropTransInfoDic.ContainsKey(AllDressIDInfoList[i].ItemId))
                         if (!DressPropTransInfoDic.ContainsKey(AllDressIDInfoList[i].ItemId))
                         {
                         {
-                            DressPropTransInfoDic.Add(AllDressIDInfoList[i].ItemId.ToString(), AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
+                            DressPropTransInfoDic.Add(AllDressIDInfoList[i].ItemId.ToString(),
+                                AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
                         }
                         }
                     }
                     }
-                    else if(itemCfg == null)
+                    else if (itemCfg == null)
                     {
                     {
-                        SuitCfg actionId = SuitCfgArray.Instance.GetCfg(GetIDByString(AllDressIDInfoList[i].ItemId));
-                        if(actionId !=null)
+                        SuitCfg actionId =
+                            CommonDataManager.Tables.TblSuitCfg.GetOrDefault(
+                                GetIDByString(AllDressIDInfoList[i].ItemId));
+
+                        if (actionId != null)
                         {
                         {
                             MathingDressDate.actionId = GetIDByString(AllDressIDInfoList[i].ItemId);
                             MathingDressDate.actionId = GetIDByString(AllDressIDInfoList[i].ItemId);
-                        }   
+                        }
                     }
                     }
                 }
                 }
             }
             }
+
             MathingDressDate.itemList = dressitemIDList;
             MathingDressDate.itemList = dressitemIDList;
             //DressPropIdList = propIDList;
             //DressPropIdList = propIDList;
             //TransformDataList = transDataList;
             //TransformDataList = transDataList;
         }
         }
+
         public TransformData AnalysisStringToTransform(string strTrans)
         public TransformData AnalysisStringToTransform(string strTrans)
         {
         {
             TransformData transData = new TransformData();
             TransformData transData = new TransformData();
             string[] parts = Regex.Split(strTrans, "_");
             string[] parts = Regex.Split(strTrans, "_");
-            if(parts.Length > 6)
+            if (parts.Length > 6)
             {
             {
                 transData.position.x = float.Parse(parts[0]);
                 transData.position.x = float.Parse(parts[0]);
                 transData.position.y = float.Parse(parts[1]);
                 transData.position.y = float.Parse(parts[1]);
@@ -250,15 +283,17 @@ namespace GFGGame
                 transData.scale.y = float.Parse(parts[5]);
                 transData.scale.y = float.Parse(parts[5]);
                 transData.scale.z = float.Parse(parts[6]);
                 transData.scale.z = float.Parse(parts[6]);
             }
             }
+
             return transData;
             return transData;
         }
         }
+
         //存储道具信息
         //存储道具信息
         public void SetTransformData()
         public void SetTransformData()
         {
         {
             DressPropNameList.Clear();
             DressPropNameList.Clear();
             TransformDataList.Clear();
             TransformDataList.Clear();
             DressPropTransInfoDic.Clear();
             DressPropTransInfoDic.Clear();
-            for (int i =0;i<itemGameObjs.Count;i++)
+            for (int i = 0; i < itemGameObjs.Count; i++)
             {
             {
                 TransformData itemData = new TransformData();
                 TransformData itemData = new TransformData();
                 if (itemGameObjs[i].name == "Role")
                 if (itemGameObjs[i].name == "Role")
@@ -304,12 +339,11 @@ namespace GFGGame
                     itemData.scale = itemGameObjs[i].transform.localScale;
                     itemData.scale = itemGameObjs[i].transform.localScale;
                     TransformDataList.Add(itemData);
                     TransformDataList.Add(itemData);
                     DressPropNameList.Add(itemGameObjs[i].name);
                     DressPropNameList.Add(itemGameObjs[i].name);
-                    if(!DressPropTransInfoDic.ContainsKey(itemGameObjs[i].name))
+                    if (!DressPropTransInfoDic.ContainsKey(itemGameObjs[i].name))
                     {
                     {
                         DressPropTransInfoDic.Add(itemGameObjs[i].name, itemData);
                         DressPropTransInfoDic.Add(itemGameObjs[i].name, itemData);
-                    }  
+                    }
                 }
                 }
-                
             }
             }
             //SetNameToIdList();
             //SetNameToIdList();
         }
         }
@@ -335,7 +369,7 @@ namespace GFGGame
                 {
                 {
                     return -3;
                     return -3;
                 }
                 }
-                else if(!isNumeric)
+                else if (!isNumeric)
                 {
                 {
                     return -4;
                     return -4;
                 }
                 }
@@ -345,16 +379,19 @@ namespace GFGGame
 
 
             return id;
             return id;
         }
         }
+
         public List<int> GetIDListByString(string name)
         public List<int> GetIDListByString(string name)
         {
         {
             List<int> idList = new List<int>();
             List<int> idList = new List<int>();
             string[] parts = Regex.Split(name, "_");
             string[] parts = Regex.Split(name, "_");
-            foreach(string id in parts)
+            foreach (string id in parts)
             {
             {
                 idList.Add(int.Parse(id));
                 idList.Add(int.Parse(id));
             }
             }
+
             return idList;
             return idList;
         }
         }
+
         //将名字转换成道具id
         //将名字转换成道具id
         //public void SetNameToIdList()
         //public void SetNameToIdList()
         //{
         //{
@@ -440,7 +477,7 @@ namespace GFGGame
         public void InsertGameObjectList()
         public void InsertGameObjectList()
         {
         {
             int i = 0;
             int i = 0;
-            foreach(var item in DressPropTransInfoDic)
+            foreach (var item in DressPropTransInfoDic)
             {
             {
                 i++;
                 i++;
                 if (item.Key == roleID)
                 if (item.Key == roleID)
@@ -448,9 +485,11 @@ namespace GFGGame
                     indexRoleData = i;
                     indexRoleData = i;
                     break;
                     break;
                 }
                 }
+
                 indexRoleData = i;
                 indexRoleData = i;
             }
             }
-            if(itemGameObjs.Count ==0)
+
+            if (itemGameObjs.Count == 0)
             {
             {
                 itemGameObjs.Add(roleGameobj);
                 itemGameObjs.Add(roleGameobj);
             }
             }
@@ -464,21 +503,23 @@ namespace GFGGame
                 {
                 {
                     itemGameObjs.Insert(indexRoleData, roleGameobj);
                     itemGameObjs.Insert(indexRoleData, roleGameobj);
                 }
                 }
-            }  
+            }
         }
         }
-        public void SetNumToRank(int index,UI_Component4 rankCom)
+
+        public void SetNumToRank(int index, UI_Component4 rankCom)
         {
         {
             int c1 = 0;
             int c1 = 0;
             int c2 = 0;
             int c2 = 0;
-            if(index<=3&& index >=1)
+            if (index <= 3 && index >= 1)
             {
             {
                 c2 = index;
                 c2 = index;
             }
             }
+
             if (index > 3 && index <= 9)
             if (index > 3 && index <= 9)
             {
             {
                 c1 = 0;
                 c1 = 0;
             }
             }
-            else if(index >9 && index <= 50)
+            else if (index > 9 && index <= 50)
             {
             {
                 c1 = 1;
                 c1 = 1;
             }
             }
@@ -486,13 +527,14 @@ namespace GFGGame
             {
             {
                 c1 = 2;
                 c1 = 2;
             }
             }
+
             rankCom.m_c1.selectedIndex = c1;
             rankCom.m_c1.selectedIndex = c1;
             rankCom.m_c2.selectedIndex = c2;
             rankCom.m_c2.selectedIndex = c2;
-            if(c1 == 0)
+            if (c1 == 0)
             {
             {
-                rankCom.m_num3.url = string.Format("ui://MatchingCompetition/{0}",index.ToString());
+                rankCom.m_num3.url = string.Format("ui://MatchingCompetition/{0}", index.ToString());
             }
             }
-            else if(c1 == 1)
+            else if (c1 == 1)
             {
             {
                 int one = index / 10;
                 int one = index / 10;
                 int two = index % 10;
                 int two = index % 10;
@@ -507,13 +549,15 @@ namespace GFGGame
                 }
                 }
                 else
                 else
                 {
                 {
-                    for (int i = 11; i < JudgingRoundRewardCfgArray.Instance.dataArray.Length-1; i++)
+                    for (int i = 11; i < CommonDataManager.Tables.TblJudgingRoundRewardCfg.DataList.Count - 1; i++)
                     {
                     {
-                        JudgingRoundRewardCfg judgingCfg = JudgingRoundRewardCfgArray.Instance.GetCfg(i);
-                        JudgingRoundRewardCfg judgingNextCfg = JudgingRoundRewardCfgArray.Instance.GetCfg(i+1);
-                        if (index >= judgingCfg.rank && index < judgingNextCfg.rank)
+                        JudgingRoundRewardCfg judgingCfg =
+                            CommonDataManager.Tables.TblJudgingRoundRewardCfg.GetOrDefault(i);
+                        JudgingRoundRewardCfg judgingNextCfg =
+                            CommonDataManager.Tables.TblJudgingRoundRewardCfg.GetOrDefault(i + 1);
+                        if (index >= judgingCfg.Rank && index < judgingNextCfg.Rank)
                         {
                         {
-                            rankCom.m_RankText.text = judgingNextCfg.desc;
+                            rankCom.m_RankText.text = judgingNextCfg.Desc;
                         }
                         }
                         else
                         else
                         {
                         {
@@ -521,18 +565,17 @@ namespace GFGGame
                         }
                         }
                     }
                     }
                 }
                 }
-                
             }
             }
-
         }
         }
-        public async void AddSceneItem(ItemCfg itemCfg, bool setLayer,int isLeft = 0)
+
+        public async void AddSceneItem(ItemCfg itemCfg, bool setLayer, int isLeft = 0)
         {
         {
             Vector3 pos = Vector3.zero;
             Vector3 pos = Vector3.zero;
-            if (!string.IsNullOrEmpty(itemCfg.resLayer3))
+            if (!string.IsNullOrEmpty(itemCfg.ResLayer3))
             {
             {
                 DressPropIndex++;
                 DressPropIndex++;
-                GameObject parentGameObj3 = new GameObject(string.Format("{0}_{1}_{2}", itemCfg.id, 3,DressPropIndex));
-                await PhotographSceneManager.Instance.AddSceneItem(parentGameObj3, itemCfg, 3, setLayer,false,isLeft);
+                GameObject parentGameObj3 = new GameObject(string.Format("{0}_{1}_{2}", itemCfg.Id, 3, DressPropIndex));
+                await PhotographSceneManager.Instance.AddSceneItem(parentGameObj3, itemCfg, 3, setLayer, false, isLeft);
                 if (setLayer)
                 if (setLayer)
                 {
                 {
                     if (parentGameObj3.transform.childCount > 0)
                     if (parentGameObj3.transform.childCount > 0)
@@ -542,46 +585,52 @@ namespace GFGGame
                     }
                     }
                 }
                 }
             }
             }
-            if (!string.IsNullOrEmpty(itemCfg.resLayer2))
+
+            if (!string.IsNullOrEmpty(itemCfg.ResLayer2))
             {
             {
                 DressPropIndex++;
                 DressPropIndex++;
-                GameObject parentGameObj2 = new GameObject(string.Format("{0}_{1}_{2}", itemCfg.id, 2,DressPropIndex));
-                await PhotographSceneManager.Instance.AddSceneItem(parentGameObj2, itemCfg, 2, setLayer,false, isLeft);
+                GameObject parentGameObj2 = new GameObject(string.Format("{0}_{1}_{2}", itemCfg.Id, 2, DressPropIndex));
+                await PhotographSceneManager.Instance.AddSceneItem(parentGameObj2, itemCfg, 2, setLayer, false, isLeft);
                 if (setLayer)
                 if (setLayer)
                 {
                 {
                     if (parentGameObj2.transform.childCount > 0)
                     if (parentGameObj2.transform.childCount > 0)
                     {
                     {
-                        parentGameObj2.transform.localPosition = pos == Vector3.zero ? -parentGameObj2.transform.GetChild(0).localPosition : pos;
+                        parentGameObj2.transform.localPosition = pos == Vector3.zero
+                            ? -parentGameObj2.transform.GetChild(0).localPosition
+                            : pos;
                         pos = parentGameObj2.transform.localPosition;
                         pos = parentGameObj2.transform.localPosition;
                     }
                     }
-
                 }
                 }
             }
             }
-            if (!string.IsNullOrEmpty(itemCfg.resLayer1))
+
+            if (!string.IsNullOrEmpty(itemCfg.ResLayer1))
             {
             {
                 DressPropIndex++;
                 DressPropIndex++;
-                GameObject parentGameObj1 = new GameObject(string.Format("{0}_{1}_{2}", itemCfg.id, 1, DressPropIndex));
+                GameObject parentGameObj1 = new GameObject(string.Format("{0}_{1}_{2}", itemCfg.Id, 1, DressPropIndex));
                 await PhotographSceneManager.Instance.AddSceneItem(parentGameObj1, itemCfg, 1, setLayer, false, isLeft);
                 await PhotographSceneManager.Instance.AddSceneItem(parentGameObj1, itemCfg, 1, setLayer, false, isLeft);
 
 
                 if (setLayer)
                 if (setLayer)
                 {
                 {
                     if (parentGameObj1.transform.childCount > 0)
                     if (parentGameObj1.transform.childCount > 0)
                     {
                     {
-                        parentGameObj1.transform.localPosition = pos == Vector3.zero ? -parentGameObj1.transform.GetChild(0).localPosition : pos;
+                        parentGameObj1.transform.localPosition = pos == Vector3.zero
+                            ? -parentGameObj1.transform.GetChild(0).localPosition
+                            : pos;
                         pos = parentGameObj1.transform.localPosition;
                         pos = parentGameObj1.transform.localPosition;
                     }
                     }
-
                 }
                 }
             }
             }
         }
         }
-        public async void AddSceneItemOne(ItemCfg itemCfg, int layer,int index, int isLeft = 0, bool setLayer = true)
+
+        public async void AddSceneItemOne(ItemCfg itemCfg, int layer, int index, int isLeft = 0, bool setLayer = true)
         {
         {
             Vector3 pos = Vector3.zero;
             Vector3 pos = Vector3.zero;
-            if(DressPropIndex <= index)
+            if (DressPropIndex <= index)
             {
             {
                 DressPropIndex = index + 1;
                 DressPropIndex = index + 1;
             }
             }
-            GameObject parentGameObj3 = new GameObject(string.Format("{0}_{1}_{2}", itemCfg.id, layer, index));
+
+            GameObject parentGameObj3 = new GameObject(string.Format("{0}_{1}_{2}", itemCfg.Id, layer, index));
             await PhotographSceneManager.Instance.AddSceneItem(parentGameObj3, itemCfg, layer, setLayer, false, isLeft);
             await PhotographSceneManager.Instance.AddSceneItem(parentGameObj3, itemCfg, layer, setLayer, false, isLeft);
             if (setLayer)
             if (setLayer)
             {
             {
@@ -603,29 +652,40 @@ namespace GFGGame
     {
     {
         //其他玩家信息用于展示
         //其他玩家信息用于展示
         public MatchingPhotoWorksData OneRoleInfo = new MatchingPhotoWorksData();
         public MatchingPhotoWorksData OneRoleInfo = new MatchingPhotoWorksData();
+
         //人物位置信息
         //人物位置信息
         public TransformData roleTransFormData = new TransformData();
         public TransformData roleTransFormData = new TransformData();
         public GameObject roleGameobj;
         public GameObject roleGameobj;
+
         public string roleID = "Role";
         public string roleID = "Role";
+
         //*********************搭配数据*********************************
         //*********************搭配数据*********************************
         //需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
         //需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
         public DressUpData MathingDressDate = DressUpData.CreateDefault();
         public DressUpData MathingDressDate = DressUpData.CreateDefault();
+
         public int DressUpBgID = 0;
         public int DressUpBgID = 0;
+
         //*****这两个id放列表的最后面
         //*****这两个id放列表的最后面
         //边框id
         //边框id
         public int BorderID = 0;
         public int BorderID = 0;
+
         //NpcId
         //NpcId
         public int NpcID = 0;
         public int NpcID = 0;
+
         //道具数据,一一对应
         //道具数据,一一对应
         //道具id
         //道具id
         //public List<int> DressPropIdList = new List<int>();
         //public List<int> DressPropIdList = new List<int>();
         //道具位置信息
         //道具位置信息
         public List<TransformData> TransformDataList = new List<TransformData>();
         public List<TransformData> TransformDataList = new List<TransformData>();
+
         //道具索引
         //道具索引
         public int DressPropIndex = 0;
         public int DressPropIndex = 0;
+
         //道具索引字典
         //道具索引字典
         public Dictionary<string, TransformData> DressPropTransInfoDic = new Dictionary<string, TransformData>();
         public Dictionary<string, TransformData> DressPropTransInfoDic = new Dictionary<string, TransformData>();
+
         public List<GameObject> itemGameObjs = new List<GameObject>();
         public List<GameObject> itemGameObjs = new List<GameObject>();
+
         //***************************************************************
         //***************************************************************
         //解析后台获取的信息
         //解析后台获取的信息
         public void AnalysisInfoToList()
         public void AnalysisInfoToList()
@@ -641,53 +701,67 @@ namespace GFGGame
                 {
                 {
                     //propIDList.Add(colloctItemInfo.ItemId);
                     //propIDList.Add(colloctItemInfo.ItemId);
                     //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                     //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
-                    if(!DressPropTransInfoDic.ContainsKey(colloctItemInfo.ItemId))
+                    if (!DressPropTransInfoDic.ContainsKey(colloctItemInfo.ItemId))
                     {
                     {
-                        DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
-                    }    
+                        DressPropTransInfoDic.Add(colloctItemInfo.ItemId,
+                            MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo
+                                .ClientPosition));
+                    }
                 }
                 }
                 else
                 else
                 {
                 {
-                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(MatchingCompetitionDataManager.Instance.GetIDByString( colloctItemInfo.ItemId));
-                    if (itemCfg != null && itemCfg.itemType == ConstItemType.DRESS_UP)
+                    ItemCfg itemCfg =
+                        CommonDataManager.Tables.TblItemCfg.GetOrDefault(
+                            MatchingCompetitionDataManager.Instance.GetIDByString(colloctItemInfo.ItemId));
+
+
+                    if (itemCfg != null && itemCfg.ItemType == ConstItemType.DRESS_UP)
                     {
                     {
-                        if (itemCfg.subType == 19 || itemCfg.subType == 17 || itemCfg.subType == 21 || itemCfg.subType == 22)
+                        if (itemCfg.SubType == 19 || itemCfg.SubType == 17 || itemCfg.SubType == 21 ||
+                            itemCfg.SubType == 22)
                         {
                         {
                             //记录道具和位置信息
                             //记录道具和位置信息
                             //propIDList.Add(colloctItemInfo.ItemId);
                             //propIDList.Add(colloctItemInfo.ItemId);
                             //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                             //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                             if (!DressPropTransInfoDic.ContainsKey(colloctItemInfo.ItemId))
                             if (!DressPropTransInfoDic.ContainsKey(colloctItemInfo.ItemId))
                             {
                             {
-                                DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
+                                DressPropTransInfoDic.Add(colloctItemInfo.ItemId,
+                                    MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo
+                                        .ClientPosition));
                             }
                             }
                         }
                         }
-                        else if (itemCfg != null && itemCfg.subType == ConstDressUpItemType.BEI_JING)
+                        else if (itemCfg != null && itemCfg.SubType == ConstDressUpItemType.BEI_JING)
                         {
                         {
-                            DressUpBgID = itemCfg.id;
+                            DressUpBgID = itemCfg.Id;
                         }
                         }
                         else
                         else
                         {
                         {
-                            dressitemIDList.Add(MatchingCompetitionDataManager.Instance.GetIDByString(colloctItemInfo.ItemId));
+                            dressitemIDList.Add(
+                                MatchingCompetitionDataManager.Instance.GetIDByString(colloctItemInfo.ItemId));
                         }
                         }
                     }
                     }
-                    else if (itemCfg != null && itemCfg.itemType == ConstItemType.PHOTOGRAPH)
+                    else if (itemCfg != null && itemCfg.ItemType == ConstItemType.PHOTOGRAPH)
                     {
                     {
                         //记录道具和位置信息
                         //记录道具和位置信息
                         //propIDList.Add(colloctItemInfo.ItemId);
                         //propIDList.Add(colloctItemInfo.ItemId);
                         //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                         //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                         if (!DressPropTransInfoDic.ContainsKey(colloctItemInfo.ItemId))
                         if (!DressPropTransInfoDic.ContainsKey(colloctItemInfo.ItemId))
                         {
                         {
-                            DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
+                            DressPropTransInfoDic.Add(colloctItemInfo.ItemId,
+                                MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo
+                                    .ClientPosition));
                         }
                         }
                     }
                     }
                 }
                 }
             }
             }
+
             MathingDressDate.itemList = dressitemIDList;
             MathingDressDate.itemList = dressitemIDList;
             MathingDressDate.actionId = OneRoleInfo.JudgingInfo.ActionId;
             MathingDressDate.actionId = OneRoleInfo.JudgingInfo.ActionId;
             //DressPropIdList = propIDList;
             //DressPropIdList = propIDList;
             //TransformDataList = transDataList;
             //TransformDataList = transDataList;
             DressUpBgID = OneRoleInfo.JudgingInfo.BagId;
             DressUpBgID = OneRoleInfo.JudgingInfo.BagId;
         }
         }
+
         public void InsertGameObjectList()
         public void InsertGameObjectList()
         {
         {
             int indexRoleData = 0;
             int indexRoleData = 0;
@@ -700,6 +774,7 @@ namespace GFGGame
                     indexRoleData = i;
                     indexRoleData = i;
                 }
                 }
             }
             }
+
             if (itemGameObjs.Count == 0)
             if (itemGameObjs.Count == 0)
             {
             {
                 itemGameObjs.Add(roleGameobj);
                 itemGameObjs.Add(roleGameobj);
@@ -717,4 +792,4 @@ namespace GFGGame
             }
             }
         }
         }
     }
     }
-}
+}

+ 72 - 24
GameClient/Assets/Game/HotUpdate/Data/MatchingTwoDataManager.cs

@@ -3,6 +3,7 @@ using System;
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Text.RegularExpressions;
 using System.Text.RegularExpressions;
+using cfg.GfgCfg;
 using UnityEngine;
 using UnityEngine;
 using Live2D.Cubism.Rendering;
 using Live2D.Cubism.Rendering;
 using FairyGUI;
 using FairyGUI;
@@ -14,19 +15,26 @@ namespace GFGGame
     {
     {
         //其他玩家信息用于展示
         //其他玩家信息用于展示
         public MatchingPhotoWorksData LeftRoleInfo = new MatchingPhotoWorksData();
         public MatchingPhotoWorksData LeftRoleInfo = new MatchingPhotoWorksData();
+
         //人物位置信息
         //人物位置信息
         public TransformData roleTransFormData = new TransformData();
         public TransformData roleTransFormData = new TransformData();
         public GameObject roleGameobj;
         public GameObject roleGameobj;
+
         public string roleID = "Role";
         public string roleID = "Role";
+
         //*********************搭配数据*********************************
         //*********************搭配数据*********************************
         //需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
         //需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
         public DressUpData MathingDressDate = DressUpData.CreateDefault();
         public DressUpData MathingDressDate = DressUpData.CreateDefault();
+
         public int DressUpBgID = 0;
         public int DressUpBgID = 0;
+
         //*****这两个id放列表的最后面
         //*****这两个id放列表的最后面
         //边框id
         //边框id
         public int BorderID = 0;
         public int BorderID = 0;
+
         //NpcId
         //NpcId
         public int NpcID = 0;
         public int NpcID = 0;
+
         //道具数据,一一对应
         //道具数据,一一对应
         //道具id
         //道具id
         //public List<int> DressPropIdList = new List<int>();
         //public List<int> DressPropIdList = new List<int>();
@@ -34,9 +42,12 @@ namespace GFGGame
         //public List<TransformData> TransformDataList = new List<TransformData>();
         //public List<TransformData> TransformDataList = new List<TransformData>();
         //道具索引
         //道具索引
         public int DressPropIndex = 0;
         public int DressPropIndex = 0;
+
         //道具索引字典
         //道具索引字典
         public Dictionary<string, TransformData> DressPropTransInfoDic = new Dictionary<string, TransformData>();
         public Dictionary<string, TransformData> DressPropTransInfoDic = new Dictionary<string, TransformData>();
+
         public List<GameObject> itemGameObjs = new List<GameObject>();
         public List<GameObject> itemGameObjs = new List<GameObject>();
+
         //***************************************************************
         //***************************************************************
         //解析后台获取的信息
         //解析后台获取的信息
         public void AnalysisInfoToList()
         public void AnalysisInfoToList()
@@ -52,44 +63,56 @@ namespace GFGGame
                 {
                 {
                     //propIDList.Add(colloctItemInfo.ItemId);
                     //propIDList.Add(colloctItemInfo.ItemId);
                     //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                     //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
-                    DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
+                    DressPropTransInfoDic.Add(colloctItemInfo.ItemId,
+                        MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(
+                            colloctItemInfo.ClientPosition));
                 }
                 }
                 else
                 else
                 {
                 {
-                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(MatchingCompetitionDataManager.Instance.GetIDByString( colloctItemInfo.ItemId));
-                    if (itemCfg != null && itemCfg.itemType == ConstItemType.DRESS_UP)
+                    ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(
+                        MatchingCompetitionDataManager.Instance.GetIDByString(colloctItemInfo.ItemId));
+
+                    if (itemCfg != null && itemCfg.ItemType == ConstItemType.DRESS_UP)
                     {
                     {
-                        if (itemCfg.subType == 19 || itemCfg.subType == 17 || itemCfg.subType == 21 || itemCfg.subType == 22)
+                        if (itemCfg.SubType == 19 || itemCfg.SubType == 17 || itemCfg.SubType == 21 ||
+                            itemCfg.SubType == 22)
                         {
                         {
                             //记录道具和位置信息
                             //记录道具和位置信息
                             //propIDList.Add(colloctItemInfo.ItemId);
                             //propIDList.Add(colloctItemInfo.ItemId);
                             //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                             //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
-                            DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
+                            DressPropTransInfoDic.Add(colloctItemInfo.ItemId,
+                                MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo
+                                    .ClientPosition));
                         }
                         }
-                        else if (itemCfg != null && itemCfg.subType == ConstDressUpItemType.BEI_JING)
+                        else if (itemCfg != null && itemCfg.SubType == ConstDressUpItemType.BEI_JING)
                         {
                         {
-                            DressUpBgID = itemCfg.id;
+                            DressUpBgID = itemCfg.Id;
                         }
                         }
                         else
                         else
                         {
                         {
-                            dressitemIDList.Add(MatchingCompetitionDataManager.Instance.GetIDByString(colloctItemInfo.ItemId));
+                            dressitemIDList.Add(
+                                MatchingCompetitionDataManager.Instance.GetIDByString(colloctItemInfo.ItemId));
                         }
                         }
                     }
                     }
-                    else if (itemCfg != null && itemCfg.itemType == ConstItemType.PHOTOGRAPH)
+                    else if (itemCfg != null && itemCfg.ItemType == ConstItemType.PHOTOGRAPH)
                     {
                     {
                         //记录道具和位置信息
                         //记录道具和位置信息
                         //propIDList.Add(colloctItemInfo.ItemId);
                         //propIDList.Add(colloctItemInfo.ItemId);
                         //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                         //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
-                        DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
+                        DressPropTransInfoDic.Add(colloctItemInfo.ItemId,
+                            MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo
+                                .ClientPosition));
                     }
                     }
                 }
                 }
             }
             }
+
             MathingDressDate.itemList = dressitemIDList;
             MathingDressDate.itemList = dressitemIDList;
             MathingDressDate.actionId = LeftRoleInfo.JudgingInfo.ActionId;
             MathingDressDate.actionId = LeftRoleInfo.JudgingInfo.ActionId;
             //DressPropIdList = propIDList;
             //DressPropIdList = propIDList;
             //TransformDataList = transDataList;
             //TransformDataList = transDataList;
             DressUpBgID = LeftRoleInfo.JudgingInfo.BagId;
             DressUpBgID = LeftRoleInfo.JudgingInfo.BagId;
         }
         }
+
         public void InsertGameObjectList()
         public void InsertGameObjectList()
         {
         {
             int indexRoleData = 0;
             int indexRoleData = 0;
@@ -102,20 +125,21 @@ namespace GFGGame
                     indexRoleData = i;
                     indexRoleData = i;
                 }
                 }
             }
             }
+
             if (itemGameObjs.Count == 0)
             if (itemGameObjs.Count == 0)
             {
             {
                 itemGameObjs.Add(roleGameobj);
                 itemGameObjs.Add(roleGameobj);
             }
             }
             else
             else
             {
             {
-                if(indexRoleData > itemGameObjs.Count)
+                if (indexRoleData > itemGameObjs.Count)
                 {
                 {
                     itemGameObjs.Add(roleGameobj);
                     itemGameObjs.Add(roleGameobj);
                 }
                 }
                 else
                 else
                 {
                 {
                     itemGameObjs.Insert(indexRoleData, roleGameobj);
                     itemGameObjs.Insert(indexRoleData, roleGameobj);
-                } 
+                }
             }
             }
         }
         }
     }
     }
@@ -124,29 +148,39 @@ namespace GFGGame
     {
     {
         //其他玩家信息用于展示
         //其他玩家信息用于展示
         public MatchingPhotoWorksData RightRoleInfo = new MatchingPhotoWorksData();
         public MatchingPhotoWorksData RightRoleInfo = new MatchingPhotoWorksData();
+
         //人物位置信息
         //人物位置信息
         public TransformData roleTransFormData = new TransformData();
         public TransformData roleTransFormData = new TransformData();
         public GameObject roleGameobj;
         public GameObject roleGameobj;
+
         public string roleID = "Role";
         public string roleID = "Role";
+
         //*********************搭配数据*********************************
         //*********************搭配数据*********************************
         //需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
         //需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
         public DressUpData MathingDressDate = DressUpData.CreateDefault();
         public DressUpData MathingDressDate = DressUpData.CreateDefault();
+
         public int DressUpBgID = 0;
         public int DressUpBgID = 0;
+
         //*****这两个id放列表的最后面
         //*****这两个id放列表的最后面
         //边框id
         //边框id
         public int BorderID = 0;
         public int BorderID = 0;
+
         //NpcId
         //NpcId
         public int NpcID = 0;
         public int NpcID = 0;
+
         //道具数据,一一对应
         //道具数据,一一对应
         //道具id
         //道具id
         //public List<int> DressPropIdList = new List<int>();
         //public List<int> DressPropIdList = new List<int>();
         //道具位置信息
         //道具位置信息
-       // public List<TransformData> TransformDataList = new List<TransformData>();
+        // public List<TransformData> TransformDataList = new List<TransformData>();
         //道具索引
         //道具索引
         public int DressPropIndex = 0;
         public int DressPropIndex = 0;
+
         //道具索引字典
         //道具索引字典
         public Dictionary<string, TransformData> DressPropTransInfoDic = new Dictionary<string, TransformData>();
         public Dictionary<string, TransformData> DressPropTransInfoDic = new Dictionary<string, TransformData>();
+
         public List<GameObject> itemGameObjs = new List<GameObject>();
         public List<GameObject> itemGameObjs = new List<GameObject>();
+
         //***************************************************************
         //***************************************************************
         //解析后台获取的信息
         //解析后台获取的信息
         public void AnalysisInfoToList()
         public void AnalysisInfoToList()
@@ -162,44 +196,57 @@ namespace GFGGame
                 {
                 {
                     //propIDList.Add(colloctItemInfo.ItemId);
                     //propIDList.Add(colloctItemInfo.ItemId);
                     //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                     //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
-                    DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
+                    DressPropTransInfoDic.Add(colloctItemInfo.ItemId,
+                        MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(
+                            colloctItemInfo.ClientPosition));
                 }
                 }
                 else
                 else
                 {
                 {
-                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(MatchingCompetitionDataManager.Instance.GetIDByString(colloctItemInfo.ItemId));
-                    if (itemCfg != null && itemCfg.itemType == ConstItemType.DRESS_UP)
+                    ItemCfg itemCfg =
+                        CommonDataManager.Tables.TblItemCfg.GetOrDefault(
+                            MatchingCompetitionDataManager.Instance.GetIDByString(colloctItemInfo.ItemId));
+
+                    if (itemCfg != null && itemCfg.ItemType == ConstItemType.DRESS_UP)
                     {
                     {
-                        if (itemCfg.subType == 19 || itemCfg.subType == 17 || itemCfg.subType == 21 || itemCfg.subType == 22)
+                        if (itemCfg.SubType == 19 || itemCfg.SubType == 17 || itemCfg.SubType == 21 ||
+                            itemCfg.SubType == 22)
                         {
                         {
                             //记录道具和位置信息
                             //记录道具和位置信息
                             //propIDList.Add(colloctItemInfo.ItemId);
                             //propIDList.Add(colloctItemInfo.ItemId);
                             //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                             //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
-                            DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
+                            DressPropTransInfoDic.Add(colloctItemInfo.ItemId,
+                                MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo
+                                    .ClientPosition));
                         }
                         }
-                        else if (itemCfg != null && itemCfg.subType == ConstDressUpItemType.BEI_JING)
+                        else if (itemCfg != null && itemCfg.SubType == ConstDressUpItemType.BEI_JING)
                         {
                         {
-                            DressUpBgID = itemCfg.id;
+                            DressUpBgID = itemCfg.Id;
                         }
                         }
                         else
                         else
                         {
                         {
-                            dressitemIDList.Add(MatchingCompetitionDataManager.Instance.GetIDByString(colloctItemInfo.ItemId));
+                            dressitemIDList.Add(
+                                MatchingCompetitionDataManager.Instance.GetIDByString(colloctItemInfo.ItemId));
                         }
                         }
                     }
                     }
-                    else if (itemCfg != null && itemCfg.itemType == ConstItemType.PHOTOGRAPH)
+                    else if (itemCfg != null && itemCfg.ItemType == ConstItemType.PHOTOGRAPH)
                     {
                     {
                         //记录道具和位置信息
                         //记录道具和位置信息
                         //propIDList.Add(colloctItemInfo.ItemId);
                         //propIDList.Add(colloctItemInfo.ItemId);
                         //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                         //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
-                        DressPropTransInfoDic.Add(colloctItemInfo.ItemId, MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
+                        DressPropTransInfoDic.Add(colloctItemInfo.ItemId,
+                            MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo
+                                .ClientPosition));
                     }
                     }
                 }
                 }
             }
             }
+
             MathingDressDate.itemList = dressitemIDList;
             MathingDressDate.itemList = dressitemIDList;
             MathingDressDate.actionId = RightRoleInfo.JudgingInfo.ActionId;
             MathingDressDate.actionId = RightRoleInfo.JudgingInfo.ActionId;
             //DressPropIdList = propIDList;
             //DressPropIdList = propIDList;
             //TransformDataList = transDataList;
             //TransformDataList = transDataList;
             DressUpBgID = RightRoleInfo.JudgingInfo.BagId;
             DressUpBgID = RightRoleInfo.JudgingInfo.BagId;
         }
         }
+
         public void InsertGameObjectList()
         public void InsertGameObjectList()
         {
         {
             int indexRoleData = 0;
             int indexRoleData = 0;
@@ -212,6 +259,7 @@ namespace GFGGame
                     indexRoleData = i;
                     indexRoleData = i;
                 }
                 }
             }
             }
+
             if (itemGameObjs.Count == 0)
             if (itemGameObjs.Count == 0)
             {
             {
                 itemGameObjs.Add(roleGameobj);
                 itemGameObjs.Add(roleGameobj);
@@ -229,4 +277,4 @@ namespace GFGGame
             }
             }
         }
         }
     }
     }
-}
+}

+ 11 - 10
GameClient/Assets/Game/HotUpdate/Data/NoticeDataManager.cs

@@ -1,6 +1,7 @@
 using ET;
 using ET;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
+using cfg.GfgCfg;
 
 
 namespace GFGGame
 namespace GFGGame
 {
 {
@@ -80,22 +81,22 @@ namespace GFGGame
 
 
         public List<AdCfg> UpdateShowActivity()
         public List<AdCfg> UpdateShowActivity()
         {
         {
-            AdCfg[] activitydata = AdCfgArray.Instance.dataArray;
+            List<AdCfg> activitydata = CommonDataManager.Tables.TblAdCfg.DataList;
             List<AdCfg> showActivity = new List<AdCfg>();
             List<AdCfg> showActivity = new List<AdCfg>();
-            for (int i = 0; i < activitydata.Length; i++)
+            for (int i = 0; i < activitydata.Count; i++)
             {
             {
                 AdCfg adCfg = activitydata[i];
                 AdCfg adCfg = activitydata[i];
-                if (adCfg.activityId > 0)
+                if (adCfg.ActivityId > 0)
                 {
                 {
-                    if (ActivityGlobalDataManager.Instance.GetActivityInfo(adCfg.activityId) == null) continue;
-                    ActivityInfo activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(adCfg.activityId);
+                    if (ActivityGlobalDataManager.Instance.GetActivityInfo(adCfg.ActivityId) == null) continue;
+                    ActivityInfo activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(adCfg.ActivityId);
                     if (TimeHelper.ServerNow() < activityInfo.StartTime || TimeHelper.ServerNow() > activityInfo.EndTime) continue;
                     if (TimeHelper.ServerNow() < activityInfo.StartTime || TimeHelper.ServerNow() > activityInfo.EndTime) continue;
                 }
                 }
                 if (adCfg.NoticeTips != null && adCfg.NoticeTips != "")
                 if (adCfg.NoticeTips != null && adCfg.NoticeTips != "")
                 {
                 {
-                    if (adCfg.activityId != 0)
+                    if (adCfg.ActivityId != 0)
                     {
                     {
-                        ActivityInfo activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(adCfg.activityId);
+                        ActivityInfo activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(adCfg.ActivityId);
                         if (TimeHelper.ServerNow() < activityInfo.StartTime || TimeHelper.ServerNow() > activityInfo.EndTime)
                         if (TimeHelper.ServerNow() < activityInfo.StartTime || TimeHelper.ServerNow() > activityInfo.EndTime)
                         {
                         {
 
 
@@ -106,10 +107,10 @@ namespace GFGGame
                             continue;
                             continue;
                         }
                         }
                     }
                     }
-                    if (adCfg.startTime != "" && adCfg.startTime != null)
+                    if (adCfg.StartTime != "" && adCfg.StartTime != null)
                     {
                     {
-                        long startTime = TimeUtil.DateTimeToTimestamp(adCfg.startTime);
-                        long endTime = TimeUtil.DateTimeToTimestamp(adCfg.endTime);
+                        long startTime = TimeUtil.DateTimeToTimestamp(adCfg.StartTime);
+                        long endTime = TimeUtil.DateTimeToTimestamp(adCfg.EndTime);
                         if (TimeHelper.ServerNow() < startTime || TimeHelper.ServerNow() > endTime)
                         if (TimeHelper.ServerNow() < startTime || TimeHelper.ServerNow() > endTime)
                         {
                         {
                             continue;
                             continue;

+ 8 - 7
GameClient/Assets/Game/HotUpdate/Data/PhotographSceneManager.cs

@@ -1,6 +1,7 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
+using cfg.GfgCfg;
 using UnityEngine;
 using UnityEngine;
 using YooAsset;
 using YooAsset;
 
 
@@ -13,7 +14,7 @@ namespace GFGGame
         public async void AddBgItem(ItemCfg itemCfg)
         public async void AddBgItem(ItemCfg itemCfg)
         {
         {
             Transform tf = sceneObject.transform.Find("Bg/BgRes");
             Transform tf = sceneObject.transform.Find("Bg/BgRes");
-            string resPath = ResPathUtil.GetSceneBgPath(itemCfg.res);
+            string resPath = ResPathUtil.GetSceneBgPath(itemCfg.Res);
             await LoadManager.Instance.CheckResExsitedOrDownload(resPath);
             await LoadManager.Instance.CheckResExsitedOrDownload(resPath);
             SetSpriteRendererToTransform(tf, resPath);
             SetSpriteRendererToTransform(tf, resPath);
             SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
             SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
@@ -32,9 +33,9 @@ namespace GFGGame
 
 
             string resPath;
             string resPath;
 
 
-            if (itemCfg.id != ConstItemID.BORDERID)
+            if (itemCfg.Id != ConstItemID.BORDERID)
             {
             {
-                resPath = ResPathUtil.GetPhotographBorderPath(itemCfg.res, ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType));
+                resPath = ResPathUtil.GetPhotographBorderPath(itemCfg.Res, ItemUtil.GetItemResExt(itemCfg.ItemType, itemCfg.SubType));
             }
             }
             // 默认无边框不用加载资源
             // 默认无边框不用加载资源
             else
             else
@@ -51,7 +52,7 @@ namespace GFGGame
         public void AddNpcItem(ItemCfg itemCfg)
         public void AddNpcItem(ItemCfg itemCfg)
         {
         {
             Transform tf = sceneObject.transform.Find("Scene/Npc/NpcRes");
             Transform tf = sceneObject.transform.Find("Scene/Npc/NpcRes");
-            string resPath = ResPathUtil.GetNpcPicFPath(itemCfg.res);
+            string resPath = ResPathUtil.GetNpcPicFPath(itemCfg.Res);
             SetSpriteRendererToTransform(tf, resPath);
             SetSpriteRendererToTransform(tf, resPath);
             SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
             SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
             tf.localPosition = new Vector2(-spr.bounds.center.x, -spr.bounds.center.y);
             tf.localPosition = new Vector2(-spr.bounds.center.x, -spr.bounds.center.y);
@@ -96,7 +97,7 @@ namespace GFGGame
                 MatchingOneDataManager.Instance.itemGameObjs.Add(parentGameObj);
                 MatchingOneDataManager.Instance.itemGameObjs.Add(parentGameObj);
             }
             }
 
 
-            await AddItemToScene(sceneObject, parentGameObj, itemCfg.id, layer);
+            await AddItemToScene(sceneObject, parentGameObj, itemCfg.Id, layer);
 
 
             string layerName = string.Format("resLayer{0}", layer);
             string layerName = string.Format("resLayer{0}", layer);
             string value = typeof(ItemCfg).GetField(layerName).GetValue(itemCfg).ToString();
             string value = typeof(ItemCfg).GetField(layerName).GetValue(itemCfg).ToString();
@@ -107,14 +108,14 @@ namespace GFGGame
         //拍照场景添加单个道具
         //拍照场景添加单个道具
         public async Task AddItemToScene(GameObject sceneObj, GameObject parentGameObj, int itemId, int resLayer)
         public async Task AddItemToScene(GameObject sceneObj, GameObject parentGameObj, int itemId, int resLayer)
         {
         {
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+            ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
             parentGameObj.transform.SetParent(sceneObj.transform.Find("Scene"), false);
             parentGameObj.transform.SetParent(sceneObj.transform.Find("Scene"), false);
 
 
 
 
 
 
             string layerName = string.Format("resLayer{0}", resLayer);
             string layerName = string.Format("resLayer{0}", resLayer);
             string value = typeof(ItemCfg).GetField(layerName).GetValue(itemCfg).ToString();
             string value = typeof(ItemCfg).GetField(layerName).GetValue(itemCfg).ToString();
-            string res = value == "n" ? itemCfg.res : string.Format("{0}_{1}", itemCfg.res, value);
+            string res = value == "n" ? itemCfg.Res : string.Format("{0}_{1}", itemCfg.Res, value);
 
 
             string resPath = ResPathUtil.GetDressUpAnimationPath(res);
             string resPath = ResPathUtil.GetDressUpAnimationPath(res);
             var handler = DressUpUtil.AddItemAsync(itemId, sceneObj, false, true, parentGameObj, resLayer);
             var handler = DressUpUtil.AddItemAsync(itemId, sceneObj, false, true, parentGameObj, resLayer);

+ 59 - 67
GameClient/Assets/Game/HotUpdate/Data/PoemGalleryDataManager.cs

@@ -12,100 +12,70 @@ namespace GFGGame
         public bool waitRelease = false;
         public bool waitRelease = false;
         public const int pageCount = 10;
         public const int pageCount = 10;
         private long _themeOrder = 0;
         private long _themeOrder = 0;
+
         /// <summary>
         /// <summary>
         /// 主题期数
         /// 主题期数
         /// </summary>
         /// </summary>
         public long ThemeOrder
         public long ThemeOrder
         {
         {
-            get
-            {
-                return _themeOrder;
-            }
-            set
-            {
-                _themeOrder = value;
-            }
+            get { return _themeOrder; }
+            set { _themeOrder = value; }
         }
         }
 
 
         private long _themeId = 1;
         private long _themeId = 1;
+
         /// <summary>
         /// <summary>
         /// 主题配置id
         /// 主题配置id
         /// </summary>
         /// </summary>
         public long ThemeId
         public long ThemeId
         {
         {
-            get
-            {
-                return _themeId;
-            }
-            set
-            {
-                _themeId = value;
-            }
+            get { return _themeId; }
+            set { _themeId = value; }
         }
         }
 
 
         private long _myRank = 0;
         private long _myRank = 0;
+
         /// <summary>
         /// <summary>
         /// 我的最高排行,排行榜界面展示用
         /// 我的最高排行,排行榜界面展示用
         /// </summary>
         /// </summary>
         public long MyRank
         public long MyRank
         {
         {
-            get
-            {
-                return _myRank;
-            }
-            set
-            {
-                _myRank = value;
-            }
+            get { return _myRank; }
+            set { _myRank = value; }
         }
         }
 
 
 
 
         private long _myWorksCountOfTheme = 0;
         private long _myWorksCountOfTheme = 0;
+
         /// <summary>
         /// <summary>
         /// 本期主题我的作品数
         /// 本期主题我的作品数
         /// </summary>
         /// </summary>
         public long MyWorksCountOfTheme
         public long MyWorksCountOfTheme
         {
         {
-            get
-            {
-                return _myWorksCountOfTheme;
-            }
-            set
-            {
-                _myWorksCountOfTheme = value;
-            }
+            get { return _myWorksCountOfTheme; }
+            set { _myWorksCountOfTheme = value; }
         }
         }
 
 
         private bool _hasBonus = false;
         private bool _hasBonus = false;
+
         /// <summary>
         /// <summary>
         /// 本期主题我的作品数
         /// 本期主题我的作品数
         /// </summary>
         /// </summary>
         public bool HasBonus
         public bool HasBonus
         {
         {
-            get
-            {
-                return _hasBonus;
-            }
-            set
-            {
-                _hasBonus = value;
-            }
+            get { return _hasBonus; }
+            set { _hasBonus = value; }
         }
         }
 
 
         private List<int> _myWorksRanks = new List<int>() { 1, 5 };
         private List<int> _myWorksRanks = new List<int>() { 1, 5 };
+
         /// <summary>
         /// <summary>
         /// 本期主题我的作品数
         /// 本期主题我的作品数
         /// </summary>
         /// </summary>
         public List<int> MyWorksRanks
         public List<int> MyWorksRanks
         {
         {
-            get
-            {
-                return _myWorksRanks;
-            }
-            set
-            {
-                _myWorksRanks = value;
-            }
+            get { return _myWorksRanks; }
+            set { _myWorksRanks = value; }
         }
         }
 
 
 
 
@@ -113,6 +83,7 @@ namespace GFGGame
         /// 推荐数据
         /// 推荐数据
         /// </summary>
         /// </summary>
         public List<long> RecommendDatas = new List<long>();
         public List<long> RecommendDatas = new List<long>();
+
         /// <summary>
         /// <summary>
         /// 最新数据
         /// 最新数据
         /// </summary>
         /// </summary>
@@ -170,6 +141,7 @@ namespace GFGGame
                 _dicGalleryData.Add(data.WorkId, data);
                 _dicGalleryData.Add(data.WorkId, data);
             }
             }
         }
         }
+
         public void RemoveGalleryData(long workId)
         public void RemoveGalleryData(long workId)
         {
         {
             if (_dicGalleryData.ContainsKey(workId))
             if (_dicGalleryData.ContainsKey(workId))
@@ -187,13 +159,15 @@ namespace GFGGame
             {
             {
                 return _dicGalleryData[workId];
                 return _dicGalleryData[workId];
             }
             }
+
             return null;
             return null;
         }
         }
+
         public void SetGalleryData()
         public void SetGalleryData()
         {
         {
-            if(_dicGalleryData.Count > 20)
+            if (_dicGalleryData.Count > 20)
             {
             {
-                if(GalleryIDList.Count >= 10)
+                if (GalleryIDList.Count >= 10)
                 {
                 {
                     for (int i = 0; i < 10 && _dicGalleryData.Count > 0; i++)
                     for (int i = 0; i < 10 && _dicGalleryData.Count > 0; i++)
                     {
                     {
@@ -205,10 +179,12 @@ namespace GFGGame
                             _dicGalleryData.Remove(id);
                             _dicGalleryData.Remove(id);
                         }
                         }
                     }
                     }
+
                     GalleryIDList.RemoveRange(0, 10);
                     GalleryIDList.RemoveRange(0, 10);
                 }
                 }
             }
             }
         }
         }
+
         public void RemoveGalleryData()
         public void RemoveGalleryData()
         {
         {
             if (_dicGalleryData.Count > 20)
             if (_dicGalleryData.Count > 20)
@@ -222,9 +198,10 @@ namespace GFGGame
                         _dicGalleryData[id].Ntexture = null;
                         _dicGalleryData[id].Ntexture = null;
                         _dicGalleryData.Remove(id);
                         _dicGalleryData.Remove(id);
                     }
                     }
-                }           
-             }
+                }
+            }
         }
         }
+
         public void UpdateRoleInfo(long workId, string name, int rank = 0)
         public void UpdateRoleInfo(long workId, string name, int rank = 0)
         {
         {
             if (_dicGalleryData.ContainsKey(workId))
             if (_dicGalleryData.ContainsKey(workId))
@@ -236,6 +213,7 @@ namespace GFGGame
                 }
                 }
             }
             }
         }
         }
+
         public void UpdateFavoriteState(long workId, bool state, long count)
         public void UpdateFavoriteState(long workId, bool state, long count)
         {
         {
             if (_dicGalleryData.ContainsKey(workId))
             if (_dicGalleryData.ContainsKey(workId))
@@ -244,6 +222,7 @@ namespace GFGGame
                 _dicGalleryData[workId].CollectCount = count;
                 _dicGalleryData[workId].CollectCount = count;
             }
             }
         }
         }
+
         public void UpdateVoteiteState(long workId, bool state, long count)
         public void UpdateVoteiteState(long workId, bool state, long count)
         {
         {
             if (_dicGalleryData.ContainsKey(workId))
             if (_dicGalleryData.ContainsKey(workId))
@@ -256,37 +235,45 @@ namespace GFGGame
         public string GetThemeTime()
         public string GetThemeTime()
         {
         {
             // int week = GlobalCfgArray.globalCfg.galleryClearingWeekTime - 1 == 0 ? 7 : GlobalCfgArray.globalCfg.galleryClearingWeekTime - 1;
             // int week = GlobalCfgArray.globalCfg.galleryClearingWeekTime - 1 == 0 ? 7 : GlobalCfgArray.globalCfg.galleryClearingWeekTime - 1;
-            long monday00 = TimeUtil.GetCurWeekTime(1);//本周一0点
-            long monday = TimeUtil.GetCurWeekTime(GlobalCfgArray.globalCfg.galleryClearingWeekTime, GlobalCfgArray.globalCfg.galleryClearingStartTime);//本周结算时间
+            long monday00 = TimeUtil.GetCurWeekTime(1); //本周一0点
+            long monday = TimeUtil.GetCurWeekTime(CommonDataManager.Tables.TblGlobalCfg.GalleryClearingWeekTime,
+                CommonDataManager.Tables.TblGlobalCfg.GalleryClearingStartTime); //本周结算时间
+
             long startTime = 0;
             long startTime = 0;
             long endTime = 0;
             long endTime = 0;
 
 
-            if ((TimeInfo.Instance.ServerNow()) < monday)//本周一5点之前显示上周
+            if ((TimeInfo.Instance.ServerNow()) < monday) //本周一5点之前显示上周
             {
             {
-                startTime = TimeUtil.GetLastWeekTime(GlobalCfgArray.globalCfg.galleryClearingWeekTime, GlobalCfgArray.globalCfg.galleryClearingStartTime);
-                if (GlobalCfgArray.globalCfg.galleryClearingWeekTime == 1)
+                startTime = TimeUtil.GetLastWeekTime(CommonDataManager.Tables.TblGlobalCfg.GalleryClearingWeekTime,
+                    CommonDataManager.Tables.TblGlobalCfg.GalleryClearingStartTime);
+                if (CommonDataManager.Tables.TblGlobalCfg.GalleryClearingWeekTime == 1)
                 {
                 {
                     endTime = TimeUtil.GetLastWeekTime(7);
                     endTime = TimeUtil.GetLastWeekTime(7);
                 }
                 }
                 else
                 else
                 {
                 {
-                    endTime = TimeUtil.GetCurWeekTime(GlobalCfgArray.globalCfg.galleryClearingWeekTime - 1);
+                    endTime = TimeUtil.GetCurWeekTime(CommonDataManager.Tables.TblGlobalCfg.GalleryClearingWeekTime -
+                                                      1);
                 }
                 }
             }
             }
             else
             else
             {
             {
                 startTime = monday;
                 startTime = monday;
-                if (GlobalCfgArray.globalCfg.galleryClearingWeekTime == 1)
+                if (CommonDataManager.Tables.TblGlobalCfg.GalleryClearingWeekTime == 1)
                 {
                 {
                     endTime = TimeUtil.GetCurWeekTime(7);
                     endTime = TimeUtil.GetCurWeekTime(7);
                 }
                 }
                 else
                 else
                 {
                 {
-                    endTime = TimeUtil.GetNextWeekTime(GlobalCfgArray.globalCfg.galleryClearingWeekTime - 1, GlobalCfgArray.globalCfg.galleryClearingEndTime);
+                    endTime = TimeUtil.GetNextWeekTime(
+                        CommonDataManager.Tables.TblGlobalCfg.GalleryClearingWeekTime - 1,
+                        CommonDataManager.Tables.TblGlobalCfg.GalleryClearingEndTime);
                 }
                 }
             }
             }
+
             string strStartTime = TimeUtil.FormattingTimeTo_MMdd(startTime);
             string strStartTime = TimeUtil.FormattingTimeTo_MMdd(startTime);
-            string strEndTime = TimeUtil.FormattingTimeTo_MMdd(endTime); ;
+            string strEndTime = TimeUtil.FormattingTimeTo_MMdd(endTime);
+            ;
             return string.Format("{0}至{1}", strStartTime, strEndTime);
             return string.Format("{0}至{1}", strStartTime, strEndTime);
         }
         }
 
 
@@ -296,11 +283,13 @@ namespace GFGGame
         /// <returns></returns>
         /// <returns></returns>
         public bool IsResulting()
         public bool IsResulting()
         {
         {
-            long start = TimeUtil.GetCurWeekTime(GlobalCfgArray.globalCfg.galleryClearingWeekTime, GlobalCfgArray.globalCfg.galleryClearingStartTime); ;//本周一5点刷新本周
-            long end = TimeUtil.GetCurWeekTime(GlobalCfgArray.globalCfg.galleryClearingWeekTime, GlobalCfgArray.globalCfg.galleryClearingEndTime);//本周一4点结算上周
+            long start = TimeUtil.GetCurWeekTime(CommonDataManager.Tables.TblGlobalCfg.GalleryClearingWeekTime,
+                CommonDataManager.Tables.TblGlobalCfg.GalleryClearingStartTime);
+            //本周一5点刷新本周
+            long end = TimeUtil.GetCurWeekTime(CommonDataManager.Tables.TblGlobalCfg.GalleryClearingWeekTime,
+                CommonDataManager.Tables.TblGlobalCfg.GalleryClearingEndTime); //本周一4点结算上周
             long now = TimeInfo.Instance.ServerNow();
             long now = TimeInfo.Instance.ServerNow();
             return now > start && now < end;
             return now > start && now < end;
-
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -309,17 +298,20 @@ namespace GFGGame
         /// <returns></returns>
         /// <returns></returns>
         public bool IsCurThemeWork(long time)
         public bool IsCurThemeWork(long time)
         {
         {
-            long monday = TimeUtil.GetCurWeekTime(GlobalCfgArray.globalCfg.galleryClearingWeekTime, GlobalCfgArray.globalCfg.galleryClearingStartTime);//本周结算时间
+            long monday = TimeUtil.GetCurWeekTime(CommonDataManager.Tables.TblGlobalCfg.GalleryClearingWeekTime,
+                CommonDataManager.Tables.TblGlobalCfg.GalleryClearingStartTime); //本周结算时间
             long startTime = 0;
             long startTime = 0;
-            if ((TimeInfo.Instance.ServerNow()) < monday)//本周一5点之前显示上周
+            if ((TimeInfo.Instance.ServerNow()) < monday) //本周一5点之前显示上周
             {
             {
-                startTime = TimeUtil.GetLastWeekTime(GlobalCfgArray.globalCfg.galleryClearingWeekTime, GlobalCfgArray.globalCfg.galleryClearingStartTime);
+                startTime = TimeUtil.GetLastWeekTime(CommonDataManager.Tables.TblGlobalCfg.GalleryClearingWeekTime,
+                    CommonDataManager.Tables.TblGlobalCfg.GalleryClearingStartTime);
                 return time > startTime;
                 return time > startTime;
             }
             }
             else
             else
             {
             {
                 startTime = monday;
                 startTime = monday;
             }
             }
+
             return time > startTime;
             return time > startTime;
         }
         }
     }
     }

Разлика између датотеке није приказан због своје велике величине
+ 265 - 139
GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs


+ 3 - 3
GameClient/Assets/Game/HotUpdate/Data/RoleDataManager.cs

@@ -56,7 +56,7 @@ namespace GFGGame
             }
             }
         }
         }
 
 
-        private static int _mainBgID = MainBackgroundCfgArray.Instance.dataArray[0].id;
+        private static int _mainBgID = CommonDataManager.Tables.TblMainBackgroundCfg.DataList[0].Id;
         public static int mainBgID
         public static int mainBgID
         {
         {
             get
             get
@@ -365,12 +365,12 @@ namespace GFGGame
             // 如果主界面ID大于最大物品ID,说明是主界面专属背景
             // 如果主界面ID大于最大物品ID,说明是主界面专属背景
             if(mainBgID > ConstItemID.MAX_ITEM_ID)
             if(mainBgID > ConstItemID.MAX_ITEM_ID)
             {
             {
-                return ResPathUtil.GetBgImgPath(MainBackgroundCfgArray.Instance.GetCfg(mainBgID).res);
+                return ResPathUtil.GetBgImgPath( CommonDataManager.Tables.TblMainBackgroundCfg.GetOrDefault(mainBgID).Res);
             }
             }
             // 换装背景
             // 换装背景
             else
             else
             {
             {
-                return ResPathUtil.GetSceneBgPath(ItemCfgArray.Instance.GetCfg(mainBgID).res);
+                return ResPathUtil.GetSceneBgPath(CommonDataManager.Tables.TblItemCfg.GetOrDefault(mainBgID).Res);
             }
             }
         }
         }
 
 

+ 20 - 18
GameClient/Assets/Game/HotUpdate/Data/RoleInfoManager.cs

@@ -2,6 +2,7 @@ using FairyGUI;
 using ET;
 using ET;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System;
 using System;
+using cfg.GfgCfg;
 using UI.CommonGame;
 using UI.CommonGame;
 
 
 namespace GFGGame
 namespace GFGGame
@@ -56,12 +57,12 @@ namespace GFGGame
 
 
         public void Remove(int itemId)
         public void Remove(int itemId)
         {
         {
-            ItemCfg cfg = ItemCfgArray.Instance.GetCfg(itemId);
-            if (cfg.subType == 0)
+            ItemCfg cfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
+            if (cfg.SubType == 0)
             {
             {
                 if (_headDatas.IndexOf(itemId) >= 0) _headDatas.Remove(itemId);
                 if (_headDatas.IndexOf(itemId) >= 0) _headDatas.Remove(itemId);
             }
             }
-            else if (cfg.subType == 1)
+            else if (cfg.SubType == 1)
             {
             {
                 if (_headBorderDatas.IndexOf(itemId) >= 0) _headBorderDatas.Remove(itemId);
                 if (_headBorderDatas.IndexOf(itemId) >= 0) _headBorderDatas.Remove(itemId);
             }
             }
@@ -99,12 +100,12 @@ namespace GFGGame
 
 
         public void RemoveNew(int itemId)
         public void RemoveNew(int itemId)
         {
         {
-            ItemCfg cfg = ItemCfgArray.Instance.GetCfg(itemId);
-            if (cfg.subType == 0)
+            ItemCfg cfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
+            if (cfg.SubType == 0)
             {
             {
                 if (_newHeadDatas.IndexOf(itemId) >= 0) _newHeadDatas.Remove(itemId);
                 if (_newHeadDatas.IndexOf(itemId) >= 0) _newHeadDatas.Remove(itemId);
             }
             }
-            else if (cfg.subType == 1)
+            else if (cfg.SubType == 1)
             {
             {
                 if (_newHeadBorderDatas.IndexOf(itemId) >= 0) _newHeadBorderDatas.Remove(itemId);
                 if (_newHeadBorderDatas.IndexOf(itemId) >= 0) _newHeadBorderDatas.Remove(itemId);
             }
             }
@@ -204,17 +205,17 @@ namespace GFGGame
 
 
         public void UpdateHead(GComponent component, int headId, int roleBorderId)
         public void UpdateHead(GComponent component, int headId, int roleBorderId)
         {
         {
-            ItemCfg headCfg = ItemCfgArray.Instance.GetCfg(headId == 0 ? ConstItemID.HEADID : headId);
+            ItemCfg headCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(headId == 0 ? ConstItemID.HEADID : headId);
             
             
             if (headCfg == null)
             if (headCfg == null)
             {
             {
-                headCfg = ItemCfgArray.Instance.GetCfg(ConstItemID.HEADID);
+                headCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(ConstItemID.HEADID);
             }
             }
             
             
-            ItemCfg headBorderCfg = ItemCfgArray.Instance.GetCfg(roleBorderId == 0 ? ConstItemID.HEADBORDERID : roleBorderId);
+            ItemCfg headBorderCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(roleBorderId == 0 ? ConstItemID.HEADBORDERID : roleBorderId);
 
 
             UI_ComHead comHead = UI_ComHead.Proxy(component);
             UI_ComHead comHead = UI_ComHead.Proxy(component);
-            if(headBorderCfg.res.Length == 0)
+            if(headBorderCfg.Res.Length == 0)
             {
             {
                 if(comHead.m_c2 != null)
                 if(comHead.m_c2 != null)
                 {
                 {
@@ -227,11 +228,11 @@ namespace GFGGame
                 {
                 {
                     comHead.m_c2.selectedIndex = 1;
                     comHead.m_c2.selectedIndex = 1;
                 }
                 }
-                comHead.m_loaBorder.url = ResPathUtil.GetHeadBorderPath(headBorderCfg.res);
+                comHead.m_loaBorder.url = ResPathUtil.GetHeadBorderPath(headBorderCfg.Res);
             }
             }
 
 
           
           
-            comHead.m_comHead.m_loaIcon.url = ResPathUtil.GetHeadPath(headCfg.res);
+            comHead.m_comHead.m_loaIcon.url = ResPathUtil.GetHeadPath(headCfg.Res);
             UI_ComHead.ProxyEnd();
             UI_ComHead.ProxyEnd();
         }
         }
 
 
@@ -272,8 +273,8 @@ namespace GFGGame
 
 
         public static string[] GetSuitPosItems()
         public static string[] GetSuitPosItems()
         {
         {
-            MonthlyCardPrivilegeCfg privilegeCfg = MonthlyCardPrivilegeCfgArray.Instance.GetCfg(MonthCardPrivilegeType.Privilege4);
-            string[] posItems = new string[GlobalCfgArray.globalCfg.freeAlbumNum + privilegeCfg.value1Arr[0] + privilegeCfg.value2Arr[0]];
+            MonthlyCardPrivilegeCfg privilegeCfg =  CommonDataManager.Tables.TblMonthlyCardPrivilegeCfg.Get(MonthCardPrivilegeType.Privilege4);
+            string[] posItems = new string[ CommonDataManager.Tables.TblGlobalCfg.FreeAlbumNum + privilegeCfg.Value1[0] + privilegeCfg.Value2[0]];
             for (int i = 0; i < posItems.Length; i++)
             for (int i = 0; i < posItems.Length; i++)
             {
             {
                 posItems[i] = "";
                 posItems[i] = "";
@@ -296,11 +297,12 @@ namespace GFGGame
         //获取指定位置月卡类型
         //获取指定位置月卡类型
         public static int GetPosType(int pos)
         public static int GetPosType(int pos)
         {
         {
-            if (pos < GlobalCfgArray.globalCfg.freeAlbumNum) return 0;
+            if (pos < CommonDataManager.Tables.TblGlobalCfg.FreeAlbumNum) return 0;
 
 
-            MonthlyCardPrivilegeCfg privilegeCfg = MonthlyCardPrivilegeCfgArray.Instance.GetCfg(MonthCardPrivilegeType.Privilege4);
-            if (pos < GlobalCfgArray.globalCfg.freeAlbumNum + privilegeCfg.value1Arr[0]) return MonthCardType.Gold;
-            if (pos >= GlobalCfgArray.globalCfg.freeAlbumNum + privilegeCfg.value1Arr[0]) return MonthCardType.BlackGold;
+            MonthlyCardPrivilegeCfg privilegeCfg = CommonDataManager.Tables.TblMonthlyCardPrivilegeCfg.GetOrDefault(MonthCardPrivilegeType.Privilege4);
+            
+            if (pos < CommonDataManager.Tables.TblGlobalCfg.FreeAlbumNum + privilegeCfg.Value1[0]) return MonthCardType.Gold;
+            if (pos >= CommonDataManager.Tables.TblGlobalCfg.FreeAlbumNum + privilegeCfg.Value2[0]) return MonthCardType.BlackGold;
 
 
             return 0;
             return 0;
         }
         }

+ 50 - 49
GameClient/Assets/Game/HotUpdate/Data/ScoreSystemData.cs

@@ -1,6 +1,7 @@
 using ET;
 using ET;
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using UnityEngine;
 using UnityEngine;
 
 
 namespace GFGGame
 namespace GFGGame
@@ -38,33 +39,33 @@ namespace GFGGame
         {
         {
             roleData.partScoreListDic.Clear();
             roleData.partScoreListDic.Clear();
             roleData.partListDic.Clear();
             roleData.partListDic.Clear();
-            FightScoreCfg[] typeCfgs = FightScoreCfgArray.Instance.dataArray;
-            for (int j = 0; j < typeCfgs.Length; j++)
+            List<FightScoreCfg> typeCfgs = CommonDataManager.Tables.TblFightScoreCfg.DataList;
+            for (int j = 0; j < typeCfgs.Count; j++)
             {
             {
                 FightScoreCfg cfg = typeCfgs[j];
                 FightScoreCfg cfg = typeCfgs[j];
-                if (roleData.partScoreListDic.ContainsKey(cfg.id) == false)
+                if (roleData.partScoreListDic.ContainsKey(cfg.Id) == false)
                 {
                 {
-                    roleData.partScoreListDic.Add(cfg.id, new List<float>());
+                    roleData.partScoreListDic.Add(cfg.Id, new List<float>());
                 }
                 }
-                if (roleData.partListDic.ContainsKey(cfg.id) == false)
+                if (roleData.partListDic.ContainsKey(cfg.Id) == false)
                 {
                 {
-                    roleData.partListDic.Add(cfg.id, new List<int>());
+                    roleData.partListDic.Add(cfg.Id, new List<int>());
                 }
                 }
             }
             }
             for (int i = 0; i < roleData.itemList.Count; i++)
             for (int i = 0; i < roleData.itemList.Count; i++)
             {
             {
-                for (int j = 0; j < typeCfgs.Length; j++)
+                for (int j = 0; j < typeCfgs.Count; j++)
                 {
                 {
                     FightScoreCfg cfg = typeCfgs[j];
                     FightScoreCfg cfg = typeCfgs[j];
                     bool isCheckFinish = false;
                     bool isCheckFinish = false;
 
 
-                    for (int k = 0; k < cfg.subTypesArr.Length; k++)
+                    for (int k = 0; k < cfg.SubTypes.Count; k++)
                     {
                     {
-                        ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(roleData.itemList[i]);
-                        if (itemCfg !=null && itemCfg.subType == cfg.subTypesArr[k])
+                        ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(roleData.itemList[i]);
+                        if (itemCfg !=null && itemCfg.SubType == cfg.SubTypes[k])
                         {
                         {
-                            roleData.partListDic[cfg.id].Add(roleData.itemList[i]);
-                            roleData.partScoreListDic[cfg.id].Add(roleData.itemScoreList[i]);
+                            roleData.partListDic[cfg.Id].Add(roleData.itemList[i]);
+                            roleData.partScoreListDic[cfg.Id].Add(roleData.itemScoreList[i]);
                             isCheckFinish = true;
                             isCheckFinish = true;
                             break;
                             break;
                         }
                         }
@@ -87,7 +88,7 @@ namespace GFGGame
             // int tagCount = 0;
             // int tagCount = 0;
             double baseScore = 0;
             double baseScore = 0;
 
 
-            for (int i = 0; i < FightScoreCfgArray.Instance.dataArray.Length; i++)
+            for (int i = 0; i < CommonDataManager.Tables.TblFightScoreCfg.DataList.Count; i++)
             {
             {
                 baseScore += GetroundBaseScore(roleData, i + 1);
                 baseScore += GetroundBaseScore(roleData, i + 1);
             }
             }
@@ -103,7 +104,7 @@ namespace GFGGame
 
 
             double partScore = 0;
             double partScore = 0;
 
 
-            for (int i = 0; i < FightScoreCfgArray.Instance.dataArray.Length; i++)
+            for (int i = 0; i < CommonDataManager.Tables.TblFightScoreCfg.DataList.Count; i++)
             {
             {
                 partScore += GetRobotRoundBaseScore(robotData, i + 1);
                 partScore += GetRobotRoundBaseScore(robotData, i + 1);
             }
             }
@@ -220,11 +221,11 @@ namespace GFGGame
             if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena || InstanceZonesDataManager.FightScene == ConstInstanceZonesType.FieldWork)
             if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena || InstanceZonesDataManager.FightScene == ConstInstanceZonesType.FieldWork)
             {
             {
                 tagCount = ArenaDataManager.Instance.GetTagsCount(roleData.itemList, roleData.tags);
                 tagCount = ArenaDataManager.Instance.GetTagsCount(roleData.itemList, roleData.tags);
-                tagCount = Math.Min(ArenaTagCfgArray.Instance.dataArray.Length, tagCount);
+                tagCount = Math.Min( CommonDataManager.Tables.TblArenaTagCfg.DataList.Count, tagCount);
                 float addition = 0;
                 float addition = 0;
                 if (tagCount > 0)
                 if (tagCount > 0)
                 {
                 {
-                    addition = ArenaTagCfgArray.Instance.GetCfg(tagCount).addition / 10000f;
+                    addition = CommonDataManager.Tables.TblArenaTagCfg.GetOrDefault(tagCount).Addition / 10000f;
                 }
                 }
                 return (partScore + tagScore) * (1 + addition);
                 return (partScore + tagScore) * (1 + addition);
             }
             }
@@ -243,7 +244,7 @@ namespace GFGGame
         {
         {
             double baseScore = 0;
             double baseScore = 0;
 
 
-            for (int i = 0; i < FightScoreCfgArray.Instance.dataArray.Length; i++)
+            for (int i = 0; i < CommonDataManager.Tables.TblFightScoreCfg.DataList.Count; i++)
             {
             {
                 baseScore += GetroundBaseScore(roleData, i + 1);
                 baseScore += GetroundBaseScore(roleData, i + 1);
             }
             }
@@ -289,15 +290,15 @@ namespace GFGGame
             List<int> roundTimes = new List<int>();
             List<int> roundTimes = new List<int>();
 
 
 
 
-            List<PassivitySkillCfg> targetSkillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardId);
+            List<PassivitySkillCfg> targetSkillCfgs = CommonDataManager.Tables.TblPassivitySkillCfg.GetGroup1ByCardId(cardId);
             for (int i = 0; i < targetSkillCfgs.Count; i++)
             for (int i = 0; i < targetSkillCfgs.Count; i++)
             {
             {
                 if (skillLvs.Count <= i) continue;
                 if (skillLvs.Count <= i) continue;
                 int skillLv = skillLvs[i];
                 int skillLv = skillLvs[i];
-                PassivitySkillLvlCfg skillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLv, targetSkillCfgs[i].skillId);
-                if (skillLvlCfg.beginTime == SkillBeginTime.FIGHT_BEGIN && UnityEngine.Random.Range(0, 10000) < skillLvlCfg.probability)
+                PassivitySkillLvlCfg skillLvlCfg = CommonDataManager.Tables.TblPassivitySkillLvlCfg.Get(skillLv, targetSkillCfgs[i].SkillId);
+                if (skillLvlCfg.BeginTime == SkillBeginTime.FIGHT_BEGIN && UnityEngine.Random.Range(0, 10000) < skillLvlCfg.Probability)
                 {
                 {
-                    roundTimes.Add(skillLvlCfg.roundTime);
+                    roundTimes.Add(skillLvlCfg.RoundTime);
                 }
                 }
                 else
                 else
                 {
                 {
@@ -316,34 +317,34 @@ namespace GFGGame
         {
         {
             List<PassivitySkillLvlCfg> skillCfgs = new List<PassivitySkillLvlCfg>();
             List<PassivitySkillLvlCfg> skillCfgs = new List<PassivitySkillLvlCfg>();
 
 
-            List<PassivitySkillCfg> targetSkillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(targetCardId);
+            List<PassivitySkillCfg> targetSkillCfgs = CommonDataManager.Tables.TblPassivitySkillCfg.GetGroup1ByCardId(targetCardId);
             //找到敌方对我的减益技能
             //找到敌方对我的减益技能
             List<int> nullifySkillIndex = new List<int>();
             List<int> nullifySkillIndex = new List<int>();
             for (int i = 0; i < targetSkillCfgs.Count; i++)
             for (int i = 0; i < targetSkillCfgs.Count; i++)
             {
             {
                 if (targetSkillLvs.Count <= i) continue;
                 if (targetSkillLvs.Count <= i) continue;
-                PassivitySkillLvlCfg targetSkillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(targetSkillLvs[i], targetSkillCfgs[i].skillId);
+                PassivitySkillLvlCfg targetSkillLvlCfg = CommonDataManager.Tables.TblPassivitySkillLvlCfg.Get(targetSkillLvs[i], targetSkillCfgs[i].SkillId);
                 if (CheckIsRightTime(targetSkillLvlCfg, currentTime, roundId))
                 if (CheckIsRightTime(targetSkillLvlCfg, currentTime, roundId))
                 {
                 {
-                    bool isProbability = targetSkillLvlCfg.nullifySkillIndex > 0 && UnityEngine.Random.Range(0, 10000) < targetSkillLvlCfg.probability;
-                    if (targetSkillLvlCfg.beginTime == SkillBeginTime.FIGHT_BEGIN && targetRoundTimes.Count > i && roundId < targetRoundTimes[i]) isProbability = true;
-                    if (isProbability) nullifySkillIndex.Add(targetSkillLvlCfg.nullifySkillIndex);
+                    bool isProbability = targetSkillLvlCfg.NullifySkillIndex > 0 && UnityEngine.Random.Range(0, 10000) < targetSkillLvlCfg.Probability;
+                    if (targetSkillLvlCfg.BeginTime == SkillBeginTime.FIGHT_BEGIN && targetRoundTimes.Count > i && roundId < targetRoundTimes[i]) isProbability = true;
+                    if (isProbability) nullifySkillIndex.Add(targetSkillLvlCfg.NullifySkillIndex);
                 }
                 }
             }
             }
 
 
-            List<PassivitySkillCfg> mySkillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardId);
+            List<PassivitySkillCfg> mySkillCfgs = CommonDataManager.Tables.TblPassivitySkillCfg.GetGroup1ByCardId(cardId);
 
 
             for (int i = 0; i < mySkillCfgs.Count; i++)
             for (int i = 0; i < mySkillCfgs.Count; i++)
             {
             {
                 if (skillLvs.Count <= i) continue;
                 if (skillLvs.Count <= i) continue;
-                PassivitySkillLvlCfg mySkillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLvs[i], mySkillCfgs[i].skillId);
+                PassivitySkillLvlCfg mySkillLvlCfg = CommonDataManager.Tables.TblPassivitySkillLvlCfg.Get(skillLvs[i], mySkillCfgs[i].SkillId);
 
 
                 if (nullifySkillIndex.IndexOf(i + 1) >= 0) continue;//技能被对手失效
                 if (nullifySkillIndex.IndexOf(i + 1) >= 0) continue;//技能被对手失效
 
 
                 if (CheckIsRightTime(mySkillLvlCfg, currentTime, roundId))
                 if (CheckIsRightTime(mySkillLvlCfg, currentTime, roundId))
                 {
                 {
-                    bool isProbability = UnityEngine.Random.Range(0, 10000) < mySkillLvlCfg.probability;
-                    if ((mySkillLvlCfg.beginTime == currentTime || roundId == mySkillLvlCfg.beginTime) && roundTimes != null /*&& roundId < roundTimes[i]*/) 
+                    bool isProbability = UnityEngine.Random.Range(0, 10000) < mySkillLvlCfg.Probability;
+                    if ((mySkillLvlCfg.BeginTime == currentTime || roundId == mySkillLvlCfg.BeginTime) && roundTimes != null /*&& roundId < roundTimes[i]*/) 
                         isProbability = true;
                         isProbability = true;
                     else
                     else
                         isProbability = false;
                         isProbability = false;
@@ -357,13 +358,13 @@ namespace GFGGame
         private bool CheckIsRightTime(PassivitySkillLvlCfg skillLvlCfg, int currentTime, int roundId)
         private bool CheckIsRightTime(PassivitySkillLvlCfg skillLvlCfg, int currentTime, int roundId)
         {
         {
 
 
-            if (skillLvlCfg.beginTime == SkillBeginTime.FIGHT_BEGIN && currentTime == SkillBeginTime.ERVERY_ROUND_BEGIN
-          || skillLvlCfg.beginTime == SkillBeginTime.PERFECT_CLICK && currentTime == SkillBeginTime.PERFECT_CLICK
-          || skillLvlCfg.beginTime == SkillBeginTime.ERVERY_ROUND_BEGIN && currentTime == SkillBeginTime.ERVERY_ROUND_BEGIN
-          || skillLvlCfg.beginTime == SkillBeginTime.ERVERY_ROUND_END && currentTime == SkillBeginTime.ERVERY_ROUND_END
-          || skillLvlCfg.beginTime == SkillBeginTime.ALL_PERFECT_START && currentTime == SkillBeginTime.ALL_PERFECT_START
-          || skillLvlCfg.beginTime == SkillBeginTime.FIGHT_BEGIN && currentTime == SkillBeginTime.FIGHT_BEGIN
-          || skillLvlCfg.beginTime <= SkillBeginTime.ROUND_6 && currentTime == SkillBeginTime.ERVERY_ROUND_BEGIN && roundId == skillLvlCfg.beginTime)
+            if (skillLvlCfg.BeginTime == SkillBeginTime.FIGHT_BEGIN && currentTime == SkillBeginTime.ERVERY_ROUND_BEGIN
+          || skillLvlCfg.BeginTime == SkillBeginTime.PERFECT_CLICK && currentTime == SkillBeginTime.PERFECT_CLICK
+          || skillLvlCfg.BeginTime == SkillBeginTime.ERVERY_ROUND_BEGIN && currentTime == SkillBeginTime.ERVERY_ROUND_BEGIN
+          || skillLvlCfg.BeginTime == SkillBeginTime.ERVERY_ROUND_END && currentTime == SkillBeginTime.ERVERY_ROUND_END
+          || skillLvlCfg.BeginTime == SkillBeginTime.ALL_PERFECT_START && currentTime == SkillBeginTime.ALL_PERFECT_START
+          || skillLvlCfg.BeginTime == SkillBeginTime.FIGHT_BEGIN && currentTime == SkillBeginTime.FIGHT_BEGIN
+          || skillLvlCfg.BeginTime <= SkillBeginTime.ROUND_6 && currentTime == SkillBeginTime.ERVERY_ROUND_BEGIN && roundId == skillLvlCfg.BeginTime)
             {
             {
                 return true;
                 return true;
             }
             }
@@ -382,17 +383,17 @@ namespace GFGGame
             skillsToShowDic = new Dictionary<int, int>();
             skillsToShowDic = new Dictionary<int, int>();
             for (int i = 0; i < validSkills.Count; i++)
             for (int i = 0; i < validSkills.Count; i++)
             {
             {
-                if (validSkills[i].target == 1 && mainScore > 0)//作用自身
+                if (validSkills[i].Target == 1 && mainScore > 0)//作用自身
                 {
                 {
-                    double score = mainScore * validSkills[i].ratio / 10000;
+                    double score = mainScore * validSkills[i].Ratio / 10000;
                     _skillScore += score;
                     _skillScore += score;
-                    skillsToShowDic.Add(validSkills[i].skillId, (int)Math.Ceiling(score));
+                    skillsToShowDic.Add(validSkills[i].SkillId, (int)Math.Ceiling(score));
                 }
                 }
-                else if (validSkills[i].target == 2 && targetMainScore > 0)//作用对方
+                else if (validSkills[i].Target == 2 && targetMainScore > 0)//作用对方
                 {
                 {
-                    double score = mainScore * validSkills[i].ratio / 10000;
+                    double score = mainScore * validSkills[i].Ratio / 10000;
                     _targetSkillScore += score;
                     _targetSkillScore += score;
-                    skillsToShowDic.Add(validSkills[i].skillId, (int)Math.Ceiling(score));
+                    skillsToShowDic.Add(validSkills[i].SkillId, (int)Math.Ceiling(score));
                 }
                 }
             }
             }
             skillScore = (int)Math.Ceiling(_skillScore);
             skillScore = (int)Math.Ceiling(_skillScore);
@@ -408,10 +409,10 @@ namespace GFGGame
         {
         {
             if (cardId <= 0) return false;//未选卡
             if (cardId <= 0) return false;//未选卡
             if (validSkills.Count == 0) return false;//本轮没有技能被触发不显示词牌
             if (validSkills.Count == 0) return false;//本轮没有技能被触发不显示词牌
-            List<PassivitySkillCfg> skillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardId);
+            List<PassivitySkillCfg> skillCfgs = CommonDataManager.Tables.TblPassivitySkillCfg.GetGroup1ByCardId(cardId);
             for (int i = 0; i < skillCfgs.Count; i++)
             for (int i = 0; i < skillCfgs.Count; i++)
             {
             {
-                if (skillCfgs[i].mainSkill == 1)
+                if (skillCfgs[i].MainSkill == 1)
                 {
                 {
                     return true;
                     return true;
                 }
                 }
@@ -438,7 +439,7 @@ namespace GFGGame
         /// <returns></returns>
         /// <returns></returns>
         public PassivitySkillCfg GetShowSkillCfg(int cardId)
         public PassivitySkillCfg GetShowSkillCfg(int cardId)
         {
         {
-            List<PassivitySkillCfg> skillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardId);
+            List<PassivitySkillCfg> skillCfgs = CommonDataManager.Tables.TblPassivitySkillCfg.GetGroup1ByCardId(cardId);
             if (skillCfgs.Count <= 0)
             if (skillCfgs.Count <= 0)
             {
             {
                 Debug.LogWarning(cardId + " 这张卡片没有配置技能");
                 Debug.LogWarning(cardId + " 这张卡片没有配置技能");
@@ -447,7 +448,7 @@ namespace GFGGame
 
 
             for (int i = 0; i < skillCfgs.Count; i++)
             for (int i = 0; i < skillCfgs.Count; i++)
             {
             {
-                if (skillCfgs[i].showSkill == 1)
+                if (skillCfgs[i].ShowSkill == 1)
                 {
                 {
                     // int skillLv = SkillDataManager.Instance.GetSkillLv(cardId, skillCfgs[i].skillId);
                     // int skillLv = SkillDataManager.Instance.GetSkillLv(cardId, skillCfgs[i].skillId);
                     return skillCfgs[i];
                     return skillCfgs[i];
@@ -465,7 +466,7 @@ namespace GFGGame
         public PassivitySkillCfg GetMainSkillCfg(int cardId)
         public PassivitySkillCfg GetMainSkillCfg(int cardId)
         {
         {
             // Dictionary<int, List<PassivitySkillCfg>> cfgs = SkillDataManager.Instance.dicPassivitySkill[cardId];
             // Dictionary<int, List<PassivitySkillCfg>> cfgs = SkillDataManager.Instance.dicPassivitySkill[cardId];
-            List<PassivitySkillCfg> skillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardId);
+            List<PassivitySkillCfg> skillCfgs = CommonDataManager.Tables.TblPassivitySkillCfg.GetGroup1ByCardId(cardId);
 
 
             if (skillCfgs.Count <= 0)
             if (skillCfgs.Count <= 0)
             {
             {
@@ -476,7 +477,7 @@ namespace GFGGame
             // {
             // {
             for (int i = 0; i < skillCfgs.Count; i++)
             for (int i = 0; i < skillCfgs.Count; i++)
             {
             {
-                if (skillCfgs[i].mainSkill == 1)
+                if (skillCfgs[i].MainSkill == 1)
                 {
                 {
                     // int skillLV = SkillDataManager.Instance.GetSkillLv(cardId, skillCfgs[i].skillId);
                     // int skillLV = SkillDataManager.Instance.GetSkillLv(cardId, skillCfgs[i].skillId);
                     // PassivitySkillLvlCfgArray skillLvCfg = PassivitySkillLvlCfgArray.Instance.GetCfg(skillLV, skillCfgs[i].skillId);
                     // PassivitySkillLvlCfgArray skillLvCfg = PassivitySkillLvlCfgArray.Instance.GetCfg(skillLV, skillCfgs[i].skillId);

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

@@ -52,7 +52,7 @@ namespace GFGGame
             }
             }
             if (isJump)
             if (isJump)
             {
             {
-                ViewManager.Show<ShareView>();
+                //ViewManager.Show<ShareView>();
             }
             }
         }
         }
 
 

+ 53 - 52
GameClient/Assets/Game/HotUpdate/Data/ShopDataManager.cs

@@ -1,6 +1,7 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
+using cfg.GfgCfg;
 using ET;
 using ET;
 
 
 namespace GFGGame
 namespace GFGGame
@@ -31,17 +32,17 @@ namespace GFGGame
         }
         }
 
 
         /************************************************************************************************************/
         /************************************************************************************************************/
-
+        
         public List<ShopCfg> GetList(int storeId, int typeIndex, int scoreType)
         public List<ShopCfg> GetList(int storeId, int typeIndex, int scoreType)
         {
         {
             List<ShopCfg> shopCfgs = null;
             List<ShopCfg> shopCfgs = null;
             switch (storeId)
             switch (storeId)
             {
             {
                 case ConstStoreId.CLOTHING_STORE_ID:
                 case ConstStoreId.CLOTHING_STORE_ID:
-                    shopCfgs = ShopCfgArray.Instance.GetCfgsBymenu1Andmenu2AndtypeIndex(ConstStoreTabId.FU_ZHUANG_DIAN, ConstStoreSubId.FU_ZHUANG_DIAN, typeIndex.ToString());
+                    shopCfgs =  ShopConfigManager.GetConfigs(ConstStoreTabId.FU_ZHUANG_DIAN, ConstStoreSubId.FU_ZHUANG_DIAN, typeIndex.ToString());
                     break;
                     break;
                 case ConstStoreId.GALLERY_STORE_ID:
                 case ConstStoreId.GALLERY_STORE_ID:
-                    shopCfgs = ShopCfgArray.Instance.GetCfgsBymenu1Andmenu2AndtypeIndex(ConstStoreTabId.STORE_EXCHANGE, ConstStoreSubId.STORE_EXCHANGE_GALLERY, typeIndex.ToString());
+                    shopCfgs = ShopConfigManager.GetConfigs(ConstStoreTabId.STORE_EXCHANGE, ConstStoreSubId.STORE_EXCHANGE_GALLERY, typeIndex.ToString());
                     break;
                     break;
             }
             }
             SortItemListByScore(shopCfgs, scoreType);
             SortItemListByScore(shopCfgs, scoreType);
@@ -50,7 +51,7 @@ namespace GFGGame
 
 
         public void GetMoneyIdAndNum(int buyId, int count, int shopType, out int costId, out int costNum, out int buyNum)
         public void GetMoneyIdAndNum(int buyId, int count, int shopType, out int costId, out int costNum, out int buyNum)
         {
         {
-            ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(buyId);
+            ShopCfg shopCfg = CommonDataManager.Tables.TblShopCfg.GetOrDefault(buyId);
 
 
             costId = shopCfg.CostIdReal;
             costId = shopCfg.CostIdReal;
             costNum = shopCfg.Price * count;
             costNum = shopCfg.Price * count;
@@ -62,8 +63,8 @@ namespace GFGGame
         {
         {
             arrayList.Sort((ShopCfg a, ShopCfg b) =>
             arrayList.Sort((ShopCfg a, ShopCfg b) =>
             {
             {
-                long numA = ItemDataManager.GetItemNum(a.itemId);
-                long numB = ItemDataManager.GetItemNum(b.itemId);
+                long numA = ItemDataManager.GetItemNum(a.ItemId);
+                long numB = ItemDataManager.GetItemNum(b.ItemId);
                 bool hasA = numA > 0;
                 bool hasA = numA > 0;
                 bool hasB = numB > 0;
                 bool hasB = numB > 0;
                 if (hasA && !hasB)
                 if (hasA && !hasB)
@@ -76,8 +77,8 @@ namespace GFGGame
                 }
                 }
                 else if (scoreType > 0 && !hasA && !hasB)
                 else if (scoreType > 0 && !hasA && !hasB)
                 {
                 {
-                    int scoreA = ItemDataManager.GetItemAdditionScore(a.itemId, scoreType);
-                    int scoreB = ItemDataManager.GetItemAdditionScore(b.itemId, scoreType);
+                    int scoreA = ItemDataManager.GetItemAdditionScore(a.ItemId, scoreType);
+                    int scoreB = ItemDataManager.GetItemAdditionScore(b.ItemId, scoreType);
                     if (scoreB > scoreA)
                     if (scoreB > scoreA)
                     {
                     {
                         return 1;
                         return 1;
@@ -88,7 +89,7 @@ namespace GFGGame
                     }
                     }
                 }
                 }
 
 
-                return a.itemId.CompareTo(b.itemId);
+                return a.ItemId.CompareTo(b.ItemId);
             });
             });
             return arrayList;
             return arrayList;
         }
         }
@@ -112,7 +113,7 @@ namespace GFGGame
             List<ShopCfg> shopCfgs = new List<ShopCfg>();
             List<ShopCfg> shopCfgs = new List<ShopCfg>();
             for (int i = shop.Count - 1; i >= 0; i--)
             for (int i = shop.Count - 1; i >= 0; i--)
             {
             {
-                if (!string.IsNullOrEmpty(shop[i].startTime) && !TimeUtil.IsBeforeCurTime(shop[i].startTime) || !string.IsNullOrEmpty(shop[i].endTime) && !TimeUtil.IsLaterCurTime(shop[i].endTime))
+                if (!string.IsNullOrEmpty(shop[i].StartTime) && !TimeUtil.IsBeforeCurTime(shop[i].StartTime) || !string.IsNullOrEmpty(shop[i].EndTime) && !TimeUtil.IsLaterCurTime(shop[i].EndTime))
                 {
                 {
                     continue;
                     continue;
                 }
                 }
@@ -127,7 +128,7 @@ namespace GFGGame
             List<ShopCfg> shopCfgs = new List<ShopCfg>();
             List<ShopCfg> shopCfgs = new List<ShopCfg>();
             for (int i = 0; i < idList.Count; i++)
             for (int i = 0; i < idList.Count; i++)
             {
             {
-                ShopCfg shopcfg = ShopCfgArray.Instance.GetCfg(idList[i]);
+                ShopCfg shopcfg = CommonDataManager.Tables.TblShopCfg.GetOrDefault(idList[i]);
                 shopCfgs.Add(shopcfg);
                 shopCfgs.Add(shopcfg);
             }
             }
             return shopCfgs;
             return shopCfgs;
@@ -138,15 +139,15 @@ namespace GFGGame
             shopCfgs.Sort((ShopCfg a, ShopCfg b) =>
             shopCfgs.Sort((ShopCfg a, ShopCfg b) =>
             {
             {
                 //未售罄的>已售罄的
                 //未售罄的>已售罄的
-                int buyTypeA = (a.maxBuyNum == 0 || a.maxBuyNum - GetGoodsBuyNumById(a.id) > 0) ? 1 : -1;
-                int buyTypeB = (b.maxBuyNum == 0 || b.maxBuyNum - GetGoodsBuyNumById(b.id) > 0) ? 1 : -1;
+                int buyTypeA = (a.MaxBuyNum == 0 || a.MaxBuyNum - GetGoodsBuyNumById(a.Id) > 0) ? 1 : -1;
+                int buyTypeB = (b.MaxBuyNum == 0 || b.MaxBuyNum - GetGoodsBuyNumById(b.Id) > 0) ? 1 : -1;
                 if (buyTypeA > buyTypeB) return -1;
                 if (buyTypeA > buyTypeB) return -1;
                 if (buyTypeA < buyTypeB) return 1;
                 if (buyTypeA < buyTypeB) return 1;
-                int sortTypeA = a.sort == 0 ? 999 : a.sort;
-                int sortTypeB = b.sort == 0 ? 999 : b.sort; 
+                int sortTypeA = a.Sort == 0 ? 999 : a.Sort;
+                int sortTypeB = b.Sort == 0 ? 999 : b.Sort; 
                 if (sortTypeA > sortTypeB) return 1;
                 if (sortTypeA > sortTypeB) return 1;
                 if (sortTypeA < sortTypeB) return -1;
                 if (sortTypeA < sortTypeB) return -1;
-                return a.id - b.id;
+                return a.Id - b.Id;
             });
             });
             return shopCfgs;
             return shopCfgs;
         }
         }
@@ -171,31 +172,31 @@ namespace GFGGame
         /// <returns></returns>
         /// <returns></returns>
         public bool GetShopGoodsStateById(int goodsId)
         public bool GetShopGoodsStateById(int goodsId)
         {
         {
-            ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(goodsId);
+            ShopCfg shopCfg = CommonDataManager.Tables.TblShopCfg.GetOrDefault(goodsId);
 
 
-            if (shopCfg.lockType == LockType.NONE)
+            if (shopCfg.LockType == LockType.NONE)
             {
             {
                 return true;
                 return true;
             }
             }
-            else if (shopCfg.lockType == LockType.STORY_LV)
+            else if (shopCfg.LockType == LockType.STORY_LV)
             {
             {
-                return InstanceZonesDataManager.CheckLevelPass(shopCfg.lockValue);
+                return InstanceZonesDataManager.CheckLevelPass(shopCfg.LockValue);
             }
             }
-            else if (shopCfg.lockType == LockType.ROLE_LV)
+            else if (shopCfg.LockType == LockType.ROLE_LV)
             {
             {
-                return GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl) >= shopCfg.lockValue;
+                return GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl) >= shopCfg.LockValue;
             }
             }
-            else if (shopCfg.lockType == LockType.MONTH_CARD_TYPE)
+            else if (shopCfg.LockType == LockType.MONTH_CARD_TYPE)
             {
             {
-                return RoleDataManager.CheckIsMonthCardOpenByType(shopCfg.lockValue);
+                return RoleDataManager.CheckIsMonthCardOpenByType(shopCfg.LockValue);
             }
             }
-            else if (shopCfg.lockType == LockType.AREND_GRADE)
+            else if (shopCfg.LockType == LockType.AREND_GRADE)
             {
             {
-                int lockValue = shopCfg.lockValue;
-                if (shopCfg.menu1 == ConstStoreTabId.STORE_ARENA && shopCfg.menu2 != ConstStoreSubId.STORE_ARENA_ITEM && shopCfg.menu2 < ArenaDataManager.Instance.SeasonId)
+                int lockValue = shopCfg.LockValue;
+                if (shopCfg.Menu1 == ConstStoreTabId.STORE_ARENA && shopCfg.Menu2 != ConstStoreSubId.STORE_ARENA_ITEM && shopCfg.Menu2 < ArenaDataManager.Instance.SeasonId)
                 {
                 {
-                    bool isDown = ArenaDataManager.Instance.SeasonId - GlobalCfgArray.globalCfg.seasonReduce > 0;
-                    lockValue = isDown ? Math.Max(1, shopCfg.lockValue - GlobalCfgArray.globalCfg.rankReduce) : shopCfg.lockValue;
+                    bool isDown = ArenaDataManager.Instance.SeasonId - CommonDataManager.Tables.TblGlobalCfg.SeasonReduce > 0;
+                    lockValue = isDown ? Math.Max(1, shopCfg.LockValue - CommonDataManager.Tables.TblGlobalCfg.RankReduce) : shopCfg.LockValue;
                 }
                 }
                 return ArenaDataManager.Instance.HighestGrade >= lockValue;
                 return ArenaDataManager.Instance.HighestGrade >= lockValue;
             }
             }
@@ -208,31 +209,31 @@ namespace GFGGame
         /// <returns></returns>
         /// <returns></returns>
         public string GetShopGoodsStateTips(int goodsId)
         public string GetShopGoodsStateTips(int goodsId)
         {
         {
-            ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(goodsId);
-            if (shopCfg.lockType == LockType.STORY_LV)
+            ShopCfg shopCfg = CommonDataManager.Tables.TblShopCfg.GetOrDefault(goodsId);
+            if (shopCfg.LockType == LockType.STORY_LV)
             {
             {
-                StoryLevelCfg storyLevelCfg = StoryLevelCfgArray.Instance.GetCfg(shopCfg.lockValue);
-                return string.Format("通关{0}-{1}解锁", StoryUtil.GetChapterOrder(storyLevelCfg.chapterId), storyLevelCfg.order);
+                StoryLevelCfg storyLevelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(shopCfg.LockValue);
+                return string.Format("通关{0}-{1}解锁", StoryUtil.GetChapterOrder(storyLevelCfg.ChapterId), storyLevelCfg.Order);
             }
             }
-            else if (shopCfg.lockType == LockType.ROLE_LV)
+            else if (shopCfg.LockType == LockType.ROLE_LV)
             {
             {
-                return string.Format("角色达到{0}级解锁", shopCfg.lockValue);
+                return string.Format("角色达到{0}级解锁", shopCfg.LockValue);
             }
             }
-            else if (shopCfg.lockType == LockType.MONTH_CARD_TYPE)
+            else if (shopCfg.LockType == LockType.MONTH_CARD_TYPE)
             {
             {
-                return string.Format("开通{0}解锁", shopCfg.lockValue == MonthCardType.Gold ? "红包卡" : "福气卡");
+                return string.Format("开通{0}解锁", shopCfg.LockValue == MonthCardType.Gold ? "红包卡" : "福气卡");
             }
             }
-            else if (shopCfg.lockType == LockType.AREND_GRADE)
+            else if (shopCfg.LockType == LockType.AREND_GRADE)
             {
             {
-                int lockValue = shopCfg.lockValue;
-                if (shopCfg.menu1 == ConstStoreTabId.STORE_ARENA && shopCfg.menu2 != ConstStoreSubId.STORE_ARENA_ITEM && shopCfg.menu2 < ArenaDataManager.Instance.SeasonId)
+                int lockValue = shopCfg.LockValue;
+                if (shopCfg.Menu1 == ConstStoreTabId.STORE_ARENA && shopCfg.Menu2 != ConstStoreSubId.STORE_ARENA_ITEM && shopCfg.Menu2 < ArenaDataManager.Instance.SeasonId)
                 {
                 {
-                    bool isDown = ArenaDataManager.Instance.SeasonId - GlobalCfgArray.globalCfg.seasonReduce > 0;
-                    lockValue = isDown ? Math.Max(1, shopCfg.lockValue - GlobalCfgArray.globalCfg.rankReduce) : shopCfg.lockValue;
+                    bool isDown = ArenaDataManager.Instance.SeasonId - CommonDataManager.Tables.TblGlobalCfg.SeasonReduce > 0;
+                    lockValue = isDown ? Math.Max(1, shopCfg.LockValue - CommonDataManager.Tables.TblGlobalCfg.RankReduce) : shopCfg.LockValue;
                 }
                 }
-                ArenaRankCfg arenaRankCfg = ArenaRankCfgArray.Instance.GetCfg(lockValue);
+                ArenaRankCfg arenaRankCfg = CommonDataManager.Tables.TblArenaRankCfg.GetOrDefault(lockValue);
 
 
-                return string.Format("飞花令段位达到{0}解锁", arenaRankCfg.gradeName);
+                return string.Format("飞花令段位达到{0}解锁", arenaRankCfg.GradeName);
             }
             }
             return "";
             return "";
         }
         }
@@ -244,19 +245,19 @@ namespace GFGGame
         public string GetEndTime(int goodsId)
         public string GetEndTime(int goodsId)
         {
         {
             long endTime = 0;
             long endTime = 0;
-            ShopCfg cfg = ShopCfgArray.Instance.GetCfg(goodsId);
-            if (cfg.endTime == "") return "";
+            ShopCfg cfg = CommonDataManager.Tables.TblShopCfg.GetOrDefault(goodsId);
+            if (cfg.EndTime == "") return "";
 
 
-            endTime = TimeUtil.DateTimeToTimestamp(cfg.endTime);
+            endTime = TimeUtil.DateTimeToTimestamp(cfg.EndTime);
             return TimeUtil.FormattingTime(TimeHelper.ServerNow(), endTime);
             return TimeUtil.FormattingTime(TimeHelper.ServerNow(), endTime);
         }
         }
 
 
         //获取商品折扣百分比
         //获取商品折扣百分比
         public int GetShopGoodsDiscount(int goodsId)
         public int GetShopGoodsDiscount(int goodsId)
         {
         {
-            ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(goodsId);
+            ShopCfg shopCfg = CommonDataManager.Tables.TblShopCfg.GetOrDefault(goodsId);
             if (shopCfg.Price == 0) return 0;
             if (shopCfg.Price == 0) return 0;
-            return (int)(((double)shopCfg.originalPrice / (double)shopCfg.Price) * 100);
+            return (int)(((double)shopCfg.OriginalPrice / (double)shopCfg.Price) * 100);
         }
         }
 
 
 
 
@@ -370,7 +371,7 @@ namespace GFGGame
         /// /// </summary>
         /// /// </summary>
         public bool GetShopActivityIsShow(int shopType,int menuType)
         public bool GetShopActivityIsShow(int shopType,int menuType)
         {
         {
-            List<ShopCfg> shopCfgs = ShopCfgArray.Instance.GetCfgsBymenu1Andmenu2(shopType, menuType);
+            List<ShopCfg> shopCfgs = CommonDataManager.Tables.TblShopCfg.GetGroup1ByMenu1AndMenu2(shopType, menuType);
             if (ShopDataManager.Instance.RemoveNotOpenCfg(shopCfgs).Count == 0)
             if (ShopDataManager.Instance.RemoveNotOpenCfg(shopCfgs).Count == 0)
                 return false;
                 return false;
             else
             else
@@ -379,7 +380,7 @@ namespace GFGGame
 
 
         public bool GetShopIdCanBuyInShop(int menuType,List<int> shopListId)
         public bool GetShopIdCanBuyInShop(int menuType,List<int> shopListId)
         {
         {
-            List<ShopCfg> shopCfgs = ShopCfgArray.Instance.GetCfgsBymenu1Andmenu2(ConstStoreTabId.STORE_GIFT_BAG, menuType);
+            List<ShopCfg> shopCfgs = CommonDataManager.Tables.TblShopCfg.GetGroup1ByMenu1AndMenu2(ConstStoreTabId.STORE_GIFT_BAG, menuType);
             if (ShopDataManager.Instance.RemoveNotOpenCfg(shopCfgs).Count == 0)
             if (ShopDataManager.Instance.RemoveNotOpenCfg(shopCfgs).Count == 0)
                 return false;
                 return false;
 
 
@@ -388,7 +389,7 @@ namespace GFGGame
                 int buyNum = ShopDataManager.Instance.GetGoodsBuyNumById(shopId);
                 int buyNum = ShopDataManager.Instance.GetGoodsBuyNumById(shopId);
                 foreach (var cfg in shopCfgs)
                 foreach (var cfg in shopCfgs)
                 {
                 {
-                    if (cfg.id == shopId && buyNum < cfg.maxBuyNum)
+                    if (cfg.Id == shopId && buyNum < cfg.MaxBuyNum)
                         return true;
                         return true;
                 }
                 }
             }
             }

+ 36 - 26
GameClient/Assets/Game/HotUpdate/Data/ShopViewManager.cs

@@ -1,5 +1,6 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using ET;
 using ET;
 using FairyGUI;
 using FairyGUI;
 using UI.Store;
 using UI.Store;
@@ -27,9 +28,9 @@ namespace GFGGame
             int level = RoleDataManager.vipLv;
             int level = RoleDataManager.vipLv;
             ET.Log.Debug("vipLv:" + level);
             ET.Log.Debug("vipLv:" + level);
             ET.Log.Debug("vipExp:" + RoleDataManager.vipExp);
             ET.Log.Debug("vipExp:" + RoleDataManager.vipExp);
-            VipCfg vipCfg = VipCfgArray.Instance.GetCfg(RoleDataManager.vipLv);
+            VipCfg vipCfg =CommonDataManager.Tables.TblVipCfg.GetOrDefault(RoleDataManager.vipLv);
             if (vipCfg == null) return;
             if (vipCfg == null) return;
-            VipCfg nextVipCfg = VipCfgArray.Instance.GetCfg(RoleDataManager.vipLv + 1);
+            VipCfg nextVipCfg = CommonDataManager.Tables.TblVipCfg.GetOrDefault(RoleDataManager.vipLv + 1);
             com.m_grpTips.visible = nextVipCfg != null;
             com.m_grpTips.visible = nextVipCfg != null;
             if (com.m_btnRule.data == null)
             if (com.m_btnRule.data == null)
             {
             {
@@ -38,16 +39,16 @@ namespace GFGGame
             }
             }
             if (nextVipCfg != null)
             if (nextVipCfg != null)
             {
             {
-                com.m_proExp.target.max = vipCfg.num;
+                com.m_proExp.target.max = vipCfg.Num;
                 com.m_proExp.target.value = RoleDataManager.vipExp;
                 com.m_proExp.target.value = RoleDataManager.vipExp;
                 com.m_proExp.m_txttitle.SetVar("value", com.m_proExp.target.value.ToString()).FlushVars();
                 com.m_proExp.m_txttitle.SetVar("value", com.m_proExp.target.value.ToString()).FlushVars();
                 com.m_proExp.m_txttitle.SetVar("max", com.m_proExp.target.max.ToString()).FlushVars();
                 com.m_proExp.m_txttitle.SetVar("max", com.m_proExp.target.max.ToString()).FlushVars();
-                com.m_txtTips.SetVar("exp", (vipCfg.num - RoleDataManager.vipExp).ToString()).FlushVars();
-                com.m_txtTips.SetVar("vipLv", (nextVipCfg.id).ToString()).FlushVars();
+                com.m_txtTips.SetVar("exp", (vipCfg.Num - RoleDataManager.vipExp).ToString()).FlushVars();
+                com.m_txtTips.SetVar("vipLv", (nextVipCfg.Id).ToString()).FlushVars();
             }
             }
             else
             else
             {
             {
-                com.m_proExp.target.max = vipCfg.num;
+                com.m_proExp.target.max = vipCfg.Num;
                 com.m_proExp.target.value = RoleDataManager.vipExp;
                 com.m_proExp.target.value = RoleDataManager.vipExp;
                 com.m_proExp.m_txttitle.SetVar("value", com.m_proExp.target.value.ToString()).FlushVars();
                 com.m_proExp.m_txttitle.SetVar("value", com.m_proExp.target.value.ToString()).FlushVars();
                 com.m_proExp.m_txttitle.SetVar("max", "MAX").FlushVars();
                 com.m_proExp.m_txttitle.SetVar("max", "MAX").FlushVars();
@@ -72,37 +73,46 @@ namespace GFGGame
         {
         {
             UI_ListShopItem item = UI_ListShopItem.Proxy(obj);
             UI_ListShopItem item = UI_ListShopItem.Proxy(obj);
 
 
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(shopCfg.itemId);
+            ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(shopCfg.ItemId);
 
 
-            item.m_txtName.text = shopCfg.itemName;
-            item.m_icon.url = ResPathUtil.GetIconPath(itemCfg);
+            try
+            {
+                item.m_txtName.text = shopCfg.ItemName;
+                item.m_icon.url = ResPathUtil.GetIconPath(itemCfg);
+            }
+            catch (Exception e)
+            {
+                Console.WriteLine(e);
+                throw;
+            }
+            
 
 
-            item.m_grpDiscount.visible = shopCfg.Price < shopCfg.originalPrice;
+            item.m_grpDiscount.visible = shopCfg.Price < shopCfg.OriginalPrice;
             if (item.m_grpDiscount.visible)
             if (item.m_grpDiscount.visible)
             {
             {
                 EffectUI _effectUI = EffectUIPool.CreateEffectUI(item.m_holderfEff, "ui_Small_parts", "store_Value");
                 EffectUI _effectUI = EffectUIPool.CreateEffectUI(item.m_holderfEff, "ui_Small_parts", "store_Value");
                 _effectUIs.Add(_effectUI);
                 _effectUIs.Add(_effectUI);
-                item.m_holderfEff.visible = shopCfg.Price < shopCfg.originalPrice;
+                item.m_holderfEff.visible = shopCfg.Price < shopCfg.OriginalPrice;
             }
             }
-            item.m_txtDesc.text = shopCfg.Price <= 0 ? "" : ShopDataManager.Instance.GetShopGoodsDiscount(shopCfg.id).ToString();
+            item.m_txtDesc.text = shopCfg.Price <= 0 ? "" : ShopDataManager.Instance.GetShopGoodsDiscount(shopCfg.Id).ToString();
 
 
-            item.m_txtEndTime.SetVar("value", ShopDataManager.Instance.GetEndTime(shopCfg.id)).FlushVars();
-            item.m_txtEndTime.visible = shopCfg.endTime != "";
+            item.m_txtEndTime.SetVar("value", ShopDataManager.Instance.GetEndTime(shopCfg.Id)).FlushVars();
+            item.m_txtEndTime.visible = shopCfg.EndTime != "";
 
 
-            item.m_c2.selectedIndex = ShopDataManager.Instance.GetShopGoodsStateById(shopCfg.id) ? 1 : 0;
-            item.m_txtLock.text = ShopDataManager.Instance.GetShopGoodsStateTips(shopCfg.id);
+            item.m_c2.selectedIndex = ShopDataManager.Instance.GetShopGoodsStateById(shopCfg.Id) ? 1 : 0;
+            item.m_txtLock.text = ShopDataManager.Instance.GetShopGoodsStateTips(shopCfg.Id);
 
 
-            int buyNum = ShopDataManager.Instance.GetGoodsBuyNumById(shopCfg.id);
-            item.m_txtLimit.visible = shopCfg.maxBuyNum > 0;
-            item.m_txtLimit.text = string.Format("{0}({1}/{2})", ShopDataManager.Instance.refreshType[shopCfg.refreshType], StringUtil.GetColorText(buyNum.ToString(), "#5A3E16"), shopCfg.maxBuyNum);
+            int buyNum = ShopDataManager.Instance.GetGoodsBuyNumById(shopCfg.Id);
+            item.m_txtLimit.visible = shopCfg.MaxBuyNum > 0;
+            item.m_txtLimit.text = string.Format("{0}({1}/{2})", ShopDataManager.Instance.refreshType[shopCfg.RefreshType], StringUtil.GetColorText(buyNum.ToString(), "#5A3E16"), shopCfg.MaxBuyNum);
 
 
-            item.m_c1.selectedIndex = shopCfg.maxBuyNum == 0 || buyNum < shopCfg.maxBuyNum ? 0 : 1;
+            item.m_c1.selectedIndex = shopCfg.MaxBuyNum == 0 || buyNum < shopCfg.MaxBuyNum ? 0 : 1;
             if (item.m_c1.selectedIndex == 0)//可购买
             if (item.m_c1.selectedIndex == 0)//可购买
             {
             {
-                item.m_btnBuy.m_txtOriginalPrice.text = NumberUtil.ChangeNumberUnit(shopCfg.originalPrice);
+                item.m_btnBuy.m_txtOriginalPrice.text = NumberUtil.ChangeNumberUnit(shopCfg.OriginalPrice);
                 if (shopCfg.Price > 0 && shopCfg.CostTypeReal != CostType.FREE)//不免费
                 if (shopCfg.Price > 0 && shopCfg.CostTypeReal != CostType.FREE)//不免费
                 {
                 {
-                    item.m_btnBuy.m_grpOriginalPrice.visible = shopCfg.originalPrice > 0 && shopCfg.originalPrice != shopCfg.Price;
+                    item.m_btnBuy.m_grpOriginalPrice.visible = shopCfg.OriginalPrice > 0 && shopCfg.OriginalPrice != shopCfg.Price;
                     item.m_btnBuy.m_loaIcon.visible = true;
                     item.m_btnBuy.m_loaIcon.visible = true;
                     item.m_btnBuy.m_txtPrice.text = NumberUtil.ChangeNumberUnit(shopCfg.Price);// cfg.price.ToString();
                     item.m_btnBuy.m_txtPrice.text = NumberUtil.ChangeNumberUnit(shopCfg.Price);// cfg.price.ToString();
 
 
@@ -114,7 +124,7 @@ namespace GFGGame
                     }
                     }
                     else//道具
                     else//道具
                     {
                     {
-                        ItemCfg costItemCfg = ItemCfgArray.Instance.GetCfg(shopCfg.CostIdReal);
+                        ItemCfg costItemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(shopCfg.CostIdReal);
                         item.m_btnBuy.m_loaIcon.url = ResPathUtil.GetIconPath(costItemCfg);
                         item.m_btnBuy.m_loaIcon.url = ResPathUtil.GetIconPath(costItemCfg);
                         item.m_btnBuy.m_loaIcon.visible = true;
                         item.m_btnBuy.m_loaIcon.visible = true;
                         item.m_btnBuy.m_txtIcon.visible = false;
                         item.m_btnBuy.m_txtIcon.visible = false;
@@ -143,7 +153,7 @@ namespace GFGGame
         public void OnBtnBugItem(EventContext context)
         public void OnBtnBugItem(EventContext context)
         {
         {
             ShopCfg cfg = (context.sender as GObject).data as ShopCfg;
             ShopCfg cfg = (context.sender as GObject).data as ShopCfg;
-            bool isSellOut = cfg.maxBuyNum > 0 && cfg.maxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(cfg.id) <= 0;
+            bool isSellOut = cfg.MaxBuyNum > 0 && cfg.MaxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(cfg.Id) <= 0;
             if (isSellOut)
             if (isSellOut)
             {
             {
                 PromptController.Instance.ShowFloatTextPrompt("已售罄");
                 PromptController.Instance.ShowFloatTextPrompt("已售罄");
@@ -157,12 +167,12 @@ namespace GFGGame
 
 
             if (cfg.CostTypeReal == CostType.FREE)
             if (cfg.CostTypeReal == CostType.FREE)
             {
             {
-                ShopSProxy.ReqShopBuy(cfg.id, 1).Coroutine();
+                ShopSProxy.ReqShopBuy(cfg.Id, 1).Coroutine();
                 LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.SHANG_CHENG, 2);
                 LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.SHANG_CHENG, 2);
             }
             }
             else
             else
             {
             {
-                ViewManager.Show<ItemExchangeView>(cfg.id);
+                ViewManager.Show<ItemExchangeView>(cfg.Id);
             }
             }
         }
         }
     }
     }

+ 14 - 13
GameClient/Assets/Game/HotUpdate/Data/SkillDataManager.cs

@@ -1,4 +1,5 @@
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using UnityEngine;
 using UnityEngine;
 
 
 namespace GFGGame
 namespace GFGGame
@@ -52,11 +53,11 @@ namespace GFGGame
         public List<int> GetCardSkillLvs(int cardId)
         public List<int> GetCardSkillLvs(int cardId)
         {
         {
             List<int> skillLvs = new List<int>();
             List<int> skillLvs = new List<int>();
-            List<PassivitySkillCfg> skillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardId);
+            List<PassivitySkillCfg> skillCfgs = CommonDataManager.Tables.TblPassivitySkillCfg.GetGroup1ByCardId(cardId);
 
 
             for (int i = 0; i < skillCfgs.Count; i++)
             for (int i = 0; i < skillCfgs.Count; i++)
             {
             {
-                skillLvs.Add(GetCardSkillLv(cardId, skillCfgs[i].skillId));
+                skillLvs.Add(GetCardSkillLv(cardId, skillCfgs[i].SkillId));
             }
             }
             return skillLvs;
             return skillLvs;
         }
         }
@@ -69,24 +70,24 @@ namespace GFGGame
                 case SkillType.LeagueSkill:
                 case SkillType.LeagueSkill:
                     for (int i = 0; i < skillIds.Count; i++)
                     for (int i = 0; i < skillIds.Count; i++)
                     {
                     {
-                        LeagueSkillCfg skillCfg = LeagueSkillCfgArray.Instance.GetCfg(skillIds[i]);
+                        LeagueSkillCfg skillCfg = CommonDataManager.Tables.TblLeagueSkillCfg.GetOrDefault(skillIds[i]);
                         if (skillIds[i] == 105)
                         if (skillIds[i] == 105)
                         {
                         {
                             LogUtil.LogEditor("");
                             LogUtil.LogEditor("");
                         }
                         }
-                        if (!LeagueSkillDatas.ContainsKey(skillCfg.type))
+                        if (!LeagueSkillDatas.ContainsKey(skillCfg.Type))
                         {
                         {
-                            LeagueSkillDatas.Add(skillCfg.type, new List<int>());
-                            LeagueSkillScoreDatas.Add(skillCfg.type, new Dictionary<int, int>());
-                            LeagueSkillScoreDatas[skillCfg.type][ConstDressUpScoreType.SCORE_FENG] = 0;
-                            LeagueSkillScoreDatas[skillCfg.type][ConstDressUpScoreType.SCORE_HUA] = 0;
-                            LeagueSkillScoreDatas[skillCfg.type][ConstDressUpScoreType.SCORE_XUE] = 0;
-                            LeagueSkillScoreDatas[skillCfg.type][ConstDressUpScoreType.SCORE_YUE] = 0;
+                            LeagueSkillDatas.Add(skillCfg.Type, new List<int>());
+                            LeagueSkillScoreDatas.Add(skillCfg.Type, new Dictionary<int, int>());
+                            LeagueSkillScoreDatas[skillCfg.Type][ConstDressUpScoreType.SCORE_FENG] = 0;
+                            LeagueSkillScoreDatas[skillCfg.Type][ConstDressUpScoreType.SCORE_HUA] = 0;
+                            LeagueSkillScoreDatas[skillCfg.Type][ConstDressUpScoreType.SCORE_XUE] = 0;
+                            LeagueSkillScoreDatas[skillCfg.Type][ConstDressUpScoreType.SCORE_YUE] = 0;
                         }
                         }
-                        if (LeagueSkillDatas[skillCfg.type].IndexOf(skillIds[i]) < 0)
+                        if (LeagueSkillDatas[skillCfg.Type].IndexOf(skillIds[i]) < 0)
                         {
                         {
-                            LeagueSkillDatas[skillCfg.type].Add(skillIds[i]);
-                            LeagueSkillScoreDatas[skillCfg.type][skillCfg.score] = LeagueSkillScoreDatas[skillCfg.type][skillCfg.score] + skillCfg.value;
+                            LeagueSkillDatas[skillCfg.Type].Add(skillIds[i]);
+                            LeagueSkillScoreDatas[skillCfg.Type][skillCfg.Score] = LeagueSkillScoreDatas[skillCfg.Type][skillCfg.Score] + skillCfg.Value;
                         }
                         }
                     }
                     }
                     List<FightData> fightDatas = ArenaDataManager.Instance.DressupList;
                     List<FightData> fightDatas = ArenaDataManager.Instance.DressupList;

+ 35 - 34
GameClient/Assets/Game/HotUpdate/Data/StudioDataManager.cs

@@ -1,5 +1,6 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using ET;
 using ET;
 using GFGGame;
 using GFGGame;
 
 
@@ -23,7 +24,7 @@ namespace GFGGame
         {
         {
             get
             get
             {
             {
-                return StudioCfgArray.Instance.GetCfgsByfunId(typeof(StudioFilingView).Name);
+                return CommonDataManager.Tables.TblStudioCfg.GetGroup1ByFunId(typeof(StudioFilingView).Name);
             }
             }
         }
         }
         public void Clear()
         public void Clear()
@@ -71,19 +72,19 @@ namespace GFGGame
         public void IsCanFight(List<StoryLevelCfg> storyLevelCfgs, int index, out bool canFight, out string content)
         public void IsCanFight(List<StoryLevelCfg> storyLevelCfgs, int index, out bool canFight, out string content)
         {
         {
             StoryLevelCfg storyLevelCfg = storyLevelCfgs[index];
             StoryLevelCfg storyLevelCfg = storyLevelCfgs[index];
-            bool isPass = InstanceZonesDataManager.CheckLevelPass(storyLevelCfg.needStoryLevelId);
-            bool isRoleLv = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl) >= storyLevelCfg.needRoleLv;
+            bool isPass = InstanceZonesDataManager.CheckLevelPass(storyLevelCfg.NeedStoryLevelId);
+            bool isRoleLv = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl) >= storyLevelCfg.NeedRoleLv;
             bool isLastPast = true;
             bool isLastPast = true;
 
 
             if (index > 0 && index < storyLevelCfgs.Count)
             if (index > 0 && index < storyLevelCfgs.Count)
             {
             {
-                isLastPast = InstanceZonesDataManager.CheckLevelPass(storyLevelCfgs[index - 1].id);
+                isLastPast = InstanceZonesDataManager.CheckLevelPass(storyLevelCfgs[index - 1].Id);
             }
             }
             content = "";
             content = "";
-            if (!isRoleLv) content = string.Format("主角等级达到{0}级解锁", storyLevelCfg.needRoleLv);
+            if (!isRoleLv) content = string.Format("主角等级达到{0}级解锁", storyLevelCfg.NeedRoleLv);
             if (!isLastPast) content = "需通关前置关卡";
             if (!isLastPast) content = "需通关前置关卡";
-            StoryLevelCfg needStoryLevelCfg = StoryLevelCfgArray.Instance.GetCfg(storyLevelCfg.needStoryLevelId);
-            if (!isPass) content = string.Format("完成主线{0}-{1}解锁", needStoryLevelCfg.chapterId, needStoryLevelCfg.order);
+            StoryLevelCfg needStoryLevelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(storyLevelCfg.NeedStoryLevelId);
+            if (!isPass) content = string.Format("完成主线{0}-{1}解锁", needStoryLevelCfg.ChapterId, needStoryLevelCfg.Order);
             canFight = isPass && isRoleLv && isLastPast;
             canFight = isPass && isRoleLv && isLastPast;
         }
         }
 
 
@@ -92,16 +93,16 @@ namespace GFGGame
         public void IsCanFight(int levelId, out bool canFight, out string content)
         public void IsCanFight(int levelId, out bool canFight, out string content)
         {
         {
 
 
-            StoryLevelCfg storyLevelCfg = StoryLevelCfgArray.Instance.GetCfg(levelId);
-            StudioCfg cfg = StudioCfgArray.Instance.GetCfg(storyLevelCfg.chapterId);
+            StoryLevelCfg storyLevelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(levelId);
+            StudioCfg cfg = CommonDataManager.Tables.TblStudioCfg.GetOrDefault(storyLevelCfg.ChapterId);
             int needStoryLevelId = 0;
             int needStoryLevelId = 0;
-            if (cfg.funId == typeof(StudioFilingView).Name)
+            if (cfg.FunId == typeof(StudioFilingView).Name)
             {
             {
-                needStoryLevelId = cfg.storyLevelId;
+                needStoryLevelId = cfg.StoryLevelId;
             }
             }
             else
             else
             {
             {
-                needStoryLevelId = storyLevelCfg.needStoryLevelId;
+                needStoryLevelId = storyLevelCfg.NeedStoryLevelId;
             }
             }
 
 
             bool isPass;
             bool isPass;
@@ -114,22 +115,22 @@ namespace GFGGame
                 isPass = InstanceZonesDataManager.CheckLevelPass(needStoryLevelId);
                 isPass = InstanceZonesDataManager.CheckLevelPass(needStoryLevelId);
             }
             }
             
             
-            StoryLevelCfg needStoryLevelCfg = StoryLevelCfgArray.Instance.GetCfg(needStoryLevelId);
-            if (!isPass && needStoryLevelCfg != null) content = string.Format("完成主线{0}-{1}解锁", needStoryLevelCfg.chapterId, needStoryLevelCfg.order);
+            StoryLevelCfg needStoryLevelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(needStoryLevelId);
+            if (!isPass && needStoryLevelCfg != null) content = string.Format("完成主线{0}-{1}解锁", needStoryLevelCfg.ChapterId, needStoryLevelCfg.Order);
 
 
 
 
-            bool isRoleLv = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl) >= storyLevelCfg.needRoleLv;
-            if (!isRoleLv) content = string.Format("主角等级达到{0}级解锁", storyLevelCfg.needRoleLv);
+            bool isRoleLv = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl) >= storyLevelCfg.NeedRoleLv;
+            if (!isRoleLv) content = string.Format("主角等级达到{0}级解锁", storyLevelCfg.NeedRoleLv);
 
 
             bool isLastPast = true;
             bool isLastPast = true;
-            int lastIndex = storyLevelCfg.order - 1 - 1;
-            List<StoryLevelCfg> storyLevelCfgs = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(storyLevelCfg.type, storyLevelCfg.subType, storyLevelCfg.chapterId);
+            int lastIndex = storyLevelCfg.Order - 1 - 1;
+            List<StoryLevelCfg> storyLevelCfgs = StoryLevelConfigManager.GetConfigs(storyLevelCfg.Type, storyLevelCfg.SubType, storyLevelCfg.ChapterId);
             if (lastIndex >= 0)
             if (lastIndex >= 0)
             {
             {
-                isLastPast = InstanceZonesDataManager.CheckLevelPass(storyLevelCfgs[lastIndex].id);
+                isLastPast = InstanceZonesDataManager.CheckLevelPass(storyLevelCfgs[lastIndex].Id);
 
 
             }
             }
-            if (!isLastPast) content = string.Format("需通关{0}", storyLevelCfgs[lastIndex].name);
+            if (!isLastPast) content = string.Format("需通关{0}", storyLevelCfgs[lastIndex].Name);
 
 
             content = "";
             content = "";
             canFight = isPass && isRoleLv && isLastPast;
             canFight = isPass && isRoleLv && isLastPast;
@@ -158,22 +159,22 @@ namespace GFGGame
         private float GetAdditionBySuitId(int suitId)
         private float GetAdditionBySuitId(int suitId)
         {
         {
             float addition = 0;
             float addition = 0;
-            SuitCfg cfg = SuitCfgArray.Instance.GetCfg(suitId);
-            for (int i = 0; i < cfg.partsArr.Length; i++)
+            SuitCfg cfg = CommonDataManager.Tables.TblSuitCfg.GetOrDefault(suitId);
+            for (int i = 0; i < cfg.Parts.Count; i++)
             {
             {
-                if (ItemDataManager.GetItemNum(cfg.partsArr[i]) > 0)
+                if (ItemDataManager.GetItemNum(cfg.Parts[i]) > 0)
                 {
                 {
-                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(cfg.partsArr[i]);
-                    addition += itemCfg.addition;
+                    ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(cfg.Parts[i]);
+                    addition += itemCfg.Addition;
                 }
                 }
             }
             }
             return addition;
             return addition;
         }
         }
 
 
-        private float GetAdditionBySuitIds(int[] suitIds)
+        private float GetAdditionBySuitIds(List<int> suitIds)
         {
         {
             float addition = 0;
             float addition = 0;
-            for (int i = 0; i < suitIds.Length; i++)
+            for (int i = 0; i < suitIds.Count; i++)
             {
             {
                 addition += GetAdditionBySuitId(suitIds[i]);
                 addition += GetAdditionBySuitId(suitIds[i]);
             }
             }
@@ -185,17 +186,17 @@ namespace GFGGame
             float addition;
             float addition;
             // 开服活动
             // 开服活动
             if (type == ConstInstanceZonesType.PureFight) {
             if (type == ConstInstanceZonesType.PureFight) {
-                ActivityFightCfg fightCfg = ActivityFightCfgArray.Instance.GetCfg(filingChapterId);
-                addition = GetAdditionBySuitIds(fightCfg.activitySuitIdArr);
+                ActivityFightCfg fightCfg = CommonDataManager.Tables.TblActivityFightCfg.GetOrDefault(filingChapterId);
+                addition = GetAdditionBySuitIds(fightCfg.ActivitySuitId);
             }
             }
             else {
             else {
-                StudioCfg filingCfg = StudioCfgArray.Instance.GetCfg(filingChapterId);
+                StudioCfg filingCfg = CommonDataManager.Tables.TblStudioCfg.GetOrDefault(filingChapterId);
                 // 活动
                 // 活动
                 if (IsluckyBoxFilingChapter())
                 if (IsluckyBoxFilingChapter())
-                    addition = GetAdditionBySuitIds(filingCfg.activitySuitIdArr);
+                    addition = GetAdditionBySuitIds(filingCfg.ActivitySuitId);
                 // 查阅建档
                 // 查阅建档
                 else
                 else
-                    addition = GetAdditionBySuitId(filingCfg.suitId);
+                    addition = GetAdditionBySuitId(filingCfg.SuitId);
             }
             }
             return addition;
             return addition;
         }
         }
@@ -241,8 +242,8 @@ namespace GFGGame
             {
             {
                 int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitLuckyBox);
                 int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitLuckyBox);
 
 
-                ActivityOpenCfg activityCfg = ActivityOpenCfgArray.Instance.GetCfg(activityId);
-                luckyBoxFilingChapterId = (activityCfg != null && activityCfg.params3Arr != null) ? activityCfg.params3Arr[0] : 0;
+                ActivityOpenCfg activityCfg = CommonDataManager.Tables.TblActivityOpenCfg.GetOrDefault(activityId);
+                luckyBoxFilingChapterId = (activityCfg != null && activityCfg.Params3 != null) ? activityCfg.Params3[0] : 0;
             }
             }
             return luckyBoxFilingChapterId;
             return luckyBoxFilingChapterId;
         }
         }

+ 15 - 14
GameClient/Assets/Game/HotUpdate/Data/SuitFosterDatamanager.cs

@@ -1,6 +1,7 @@
 using System;
 using System;
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using ET;
 using ET;
 using UnityEngine;
 using UnityEngine;
 
 
@@ -111,15 +112,15 @@ namespace GFGGame
             SortedList _propertyData = new SortedList();
             SortedList _propertyData = new SortedList();
             // _addPropertyData = new SortedList();
             // _addPropertyData = new SortedList();
 
 
-            int[] parts = SuitCfgArray.Instance.GetCfg(suitId).partsArr;
-            for (int i = 0; i < parts.Length; i++)
+            List<int> parts = CommonDataManager.Tables.TblSuitCfg.GetOrDefault(suitId).Parts;
+            for (int i = 0; i < parts.Count; i++)
             {
             {
-                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(parts[i]);
+                ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(parts[i]);
 
 
                 for (int j = 0; j < ConstDressUpScoreType.scoreTypeList().Count; j++)
                 for (int j = 0; j < ConstDressUpScoreType.scoreTypeList().Count; j++)
                 {
                 {
                     int score = j + 1;
                     int score = j + 1;
-                    int count = ItemDataManager.GetItemAdditionScore(itemCfg.id, score);
+                    int count = ItemDataManager.GetItemAdditionScore(itemCfg.Id, score);
 
 
                     if (_propertyData.ContainsKey(score))
                     if (_propertyData.ContainsKey(score))
                     {
                     {
@@ -139,17 +140,17 @@ namespace GFGGame
         public Dictionary<int, int> GetAdditionPropertyData(int suitId, int index)
         public Dictionary<int, int> GetAdditionPropertyData(int suitId, int index)
         {
         {
             Dictionary<int, int> _addPropertyData = new Dictionary<int, int>();
             Dictionary<int, int> _addPropertyData = new Dictionary<int, int>();
-            SuitFosterCfg cfg = SuitFosterCfgArray.Instance.GetCfgsBysuitId(suitId)[index];
+            SuitFosterCfg cfg = CommonDataManager.Tables.TblSuitFosterCfg.GetGroup1BySuitId(suitId)[index];
 
 
-            int[] parts = SuitCfgArray.Instance.GetCfg(suitId).partsArr;
-            for (int j = 0; j < parts.Length; j++)
+            List<int> parts = CommonDataManager.Tables.TblSuitCfg.GetOrDefault(suitId).Parts;
+            for (int j = 0; j < parts.Count; j++)
             {
             {
-                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(parts[j]);
+                ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(parts[j]);
                 for (int k = 0; k < ConstDressUpScoreType.scoreTypeList().Count; k++)
                 for (int k = 0; k < ConstDressUpScoreType.scoreTypeList().Count; k++)
                 {
                 {
                     int score = k + 1;
                     int score = k + 1;
 
 
-                    int addCount = cfg.addition;
+                    int addCount = cfg.Addition;
 
 
                     if (_addPropertyData.ContainsKey(score))
                     if (_addPropertyData.ContainsKey(score))
                     {
                     {
@@ -182,11 +183,11 @@ namespace GFGGame
 
 
         public List<SuitFosterCfg> GetSuitFosterRewards(int suitId)
         public List<SuitFosterCfg> GetSuitFosterRewards(int suitId)
         {
         {
-            List<SuitFosterCfg> cfgs = SuitFosterCfgArray.Instance.GetCfgsBysuitId(suitId);
+            List<SuitFosterCfg> cfgs = CommonDataManager.Tables.TblSuitFosterCfg.GetGroup1BySuitId(suitId);
             List<SuitFosterCfg> list = new List<SuitFosterCfg>(cfgs);
             List<SuitFosterCfg> list = new List<SuitFosterCfg>(cfgs);
             for (int i = list.Count - 1; i >= 0; i--)
             for (int i = list.Count - 1; i >= 0; i--)
             {
             {
-                if (list[i].rewardsArr.Length == 0)
+                if (list[i].Rewards.Count == 0)
                 {
                 {
                     list.RemoveAt(i);
                     list.RemoveAt(i);
                 }
                 }
@@ -198,7 +199,7 @@ namespace GFGGame
         private List<SuitFosterCfg> SortRewardList(List<SuitFosterCfg> list, int suitId)
         private List<SuitFosterCfg> SortRewardList(List<SuitFosterCfg> list, int suitId)
         {
         {
             SuitFosterData fosterData = GetSuitFosterData(suitId);
             SuitFosterData fosterData = GetSuitFosterData(suitId);
-            List<SuitFosterCfg> cfgs = SuitFosterCfgArray.Instance.GetCfgsBysuitId(suitId);
+            List<SuitFosterCfg> cfgs = CommonDataManager.Tables.TblSuitFosterCfg.GetGroup1BySuitId(suitId);
 
 
             list.Sort((SuitFosterCfg a, SuitFosterCfg b) =>
             list.Sort((SuitFosterCfg a, SuitFosterCfg b) =>
             {
             {
@@ -233,10 +234,10 @@ namespace GFGGame
             SuitFosterData fosterData = GetSuitFosterData(suitId);
             SuitFosterData fosterData = GetSuitFosterData(suitId);
             int finishStep = fosterData.maintainStep;
             int finishStep = fosterData.maintainStep;
 
 
-            List<SuitFosterCfg> cfg = SuitFosterCfgArray.Instance.GetCfgsBysuitId(suitId);
+            List<SuitFosterCfg> cfg = CommonDataManager.Tables.TblSuitFosterCfg.GetGroup1BySuitId(suitId);
             for (int i = 0; i < cfg.Count; i++)
             for (int i = 0; i < cfg.Count; i++)
             {
             {
-                if (cfg[i].rewardsArr.Length == 0) continue;
+                if (cfg[i].Rewards.Count == 0) continue;
                 index = i;
                 index = i;
                 int _step = i + 1;
                 int _step = i + 1;
                 if (_step <= finishStep && fosterData.maintainBonusSteps.IndexOf(_step) < 0)
                 if (_step <= finishStep && fosterData.maintainBonusSteps.IndexOf(_step) < 0)

+ 66 - 53
GameClient/Assets/Game/HotUpdate/Data/TaskDataManager.cs

@@ -1,6 +1,7 @@
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
+using cfg.GfgCfg;
 using ET;
 using ET;
 
 
 namespace GFGGame
 namespace GFGGame
@@ -45,6 +46,7 @@ namespace GFGGame
                     taskIds = new List<int>();
                     taskIds = new List<int>();
                     TaskType2TaskIdListDic.Add(info.FuncType, taskIds);
                     TaskType2TaskIdListDic.Add(info.FuncType, taskIds);
                 }
                 }
+
                 taskIds.Add(taskId);
                 taskIds.Add(taskId);
             }
             }
             else
             else
@@ -58,13 +60,14 @@ namespace GFGGame
         {
         {
             TaskInfosDic.Remove(taskId);
             TaskInfosDic.Remove(taskId);
             //获取任务配置
             //获取任务配置
-            var cfg = TaskCfgArray.Instance.GetCfg(taskId);
+            var cfg = CommonDataManager.Tables.TblTaskCfg.GetOrDefault(taskId);
             if (cfg == null)
             if (cfg == null)
             {
             {
                 Log.Error($"出现了没有配置的任务id{taskId}");
                 Log.Error($"出现了没有配置的任务id{taskId}");
                 return;
                 return;
             }
             }
-            var funcType = cfg.funcType;
+
+            var funcType = cfg.FuncType;
             TaskType2TaskIdListDic.TryGetValue(funcType, out var taskIds);
             TaskType2TaskIdListDic.TryGetValue(funcType, out var taskIds);
             if (taskIds == null) return;
             if (taskIds == null) return;
             taskIds.Remove(taskId);
             taskIds.Remove(taskId);
@@ -93,14 +96,14 @@ namespace GFGGame
 
 
             TaskType2TaskIdListDic.TryGetValue(taskType, out var taskIds);
             TaskType2TaskIdListDic.TryGetValue(taskType, out var taskIds);
             if (taskIds == null) return cfgs;
             if (taskIds == null) return cfgs;
-            cfgs.AddRange(taskIds.Select(taskId => TaskCfgArray.Instance.GetCfg(taskId)));
+            cfgs.AddRange(taskIds.Select(taskId => CommonDataManager.Tables.TblTaskCfg.GetOrDefault(taskId)));
 
 
             cfgs.Sort((a, b) =>
             cfgs.Sort((a, b) =>
             {
             {
-                var stateA = TaskInfosDic[a.id].State == 1 ? 1 : -1;
-                var stateB = TaskInfosDic[b.id].State == 1 ? 1 : -1;
+                var stateA = TaskInfosDic[a.Id].State == 1 ? 1 : -1;
+                var stateB = TaskInfosDic[b.Id].State == 1 ? 1 : -1;
                 if (stateA > stateB) return -1;
                 if (stateA > stateB) return -1;
-                return stateB > stateA ? 1 : TaskInfosDic[a.id].State.CompareTo(TaskInfosDic[b.id].State);
+                return stateB > stateA ? 1 : TaskInfosDic[a.Id].State.CompareTo(TaskInfosDic[b.Id].State);
             });
             });
             return cfgs;
             return cfgs;
         }
         }
@@ -115,23 +118,25 @@ namespace GFGGame
 
 
             TaskType2TaskIdListDic.TryGetValue(taskType, out var taskIds);
             TaskType2TaskIdListDic.TryGetValue(taskType, out var taskIds);
             if (taskIds == null) return cfgs;
             if (taskIds == null) return cfgs;
-            cfgs.AddRange(taskIds.Select(taskId => TaskCfgArray.Instance.GetCfg(taskId)));
+            cfgs.AddRange(taskIds.Select(taskId => CommonDataManager.Tables.TblTaskCfg.GetOrDefault(taskId)));
 
 
             cfgs.Sort((a, b) =>
             cfgs.Sort((a, b) =>
             {
             {
-                var stateA = TaskInfosDic[a.id].State == 1 ? 1 : -1;
-                var stateB = TaskInfosDic[b.id].State == 1 ? 1 : -1;
+                var stateA = TaskInfosDic[a.Id].State == 1 ? 1 : -1;
+                var stateB = TaskInfosDic[b.Id].State == 1 ? 1 : -1;
                 if (stateA > stateB)
                 if (stateA > stateB)
                     return -1;
                     return -1;
-                else if(stateA < stateB)
+                else if (stateA < stateB)
                     return 1;
                     return 1;
-                else {
-                    if (TaskInfosDic[a.id].State.CompareTo(TaskInfosDic[b.id].State) > 0)
+                else
+                {
+                    if (TaskInfosDic[a.Id].State.CompareTo(TaskInfosDic[b.Id].State) > 0)
                         return 1;
                         return 1;
-                    else if (TaskInfosDic[a.id].State.CompareTo(TaskInfosDic[b.id].State) < 0)
+                    else if (TaskInfosDic[a.Id].State.CompareTo(TaskInfosDic[b.Id].State) < 0)
                         return -1;
                         return -1;
-                    else {
-                        if (a.id > b.id)
+                    else
+                    {
+                        if (a.Id > b.Id)
                             return 1;
                             return 1;
                         else
                         else
                             return -1;
                             return -1;
@@ -140,22 +145,24 @@ namespace GFGGame
             });
             });
             return cfgs;
             return cfgs;
         }
         }
+
         /// <summary>
         /// <summary>
         /// 获取任务列表
         /// 获取任务列表
         /// </summary>
         /// </summary>
         /// <returns></returns>
         /// <returns></returns>
-        public List<TaskCfg> GetTaskCfgs(int[] taskIds)
+        public List<TaskCfg> GetTaskCfgs(List<int> taskIds)
         {
         {
             var cfgs = new List<TaskCfg>();
             var cfgs = new List<TaskCfg>();
             if (taskIds == null) return cfgs;
             if (taskIds == null) return cfgs;
-            cfgs.AddRange(taskIds.Select(taskId => TaskCfgArray.Instance.GetCfg(taskId)));
+
+            cfgs.AddRange(taskIds.Select(taskId => CommonDataManager.Tables.TblTaskCfg.GetOrDefault(taskId)));
 
 
             cfgs.Sort((a, b) =>
             cfgs.Sort((a, b) =>
             {
             {
-                var stateA = TaskInfosDic[a.id].State == 1 ? 1 : -1;
-                var stateB = TaskInfosDic[b.id].State == 1 ? 1 : -1;
+                var stateA = TaskInfosDic[a.Id].State == 1 ? 1 : -1;
+                var stateB = TaskInfosDic[b.Id].State == 1 ? 1 : -1;
                 if (stateA > stateB) return -1;
                 if (stateA > stateB) return -1;
-                return stateB > stateA ? 1 : TaskInfosDic[a.id].State.CompareTo(TaskInfosDic[b.id].State);
+                return stateB > stateA ? 1 : TaskInfosDic[a.Id].State.CompareTo(TaskInfosDic[b.Id].State);
             });
             });
             return cfgs;
             return cfgs;
         }
         }
@@ -182,44 +189,45 @@ namespace GFGGame
 
 
         public string GetTaskDesc(int taskId)
         public string GetTaskDesc(int taskId)
         {
         {
-            var taskCfg = TaskCfgArray.Instance.GetCfg(taskId);
-            var activeRewardCfg = TaskTypeCfgArray.Instance.GetCfg(taskCfg.type);
-            switch ((ConstTaskType)activeRewardCfg.id)
+            var taskCfg = CommonDataManager.Tables.TblTaskCfg.GetOrDefault(taskId);
+            var activeRewardCfg = CommonDataManager.Tables.TblTaskTypeCfg.GetOrDefault(taskCfg.Type);
+            switch ((ConstTaskType)activeRewardCfg.Id)
             {
             {
                 case ConstTaskType.CompleteInstanceZones:
                 case ConstTaskType.CompleteInstanceZones:
-                    var name = EctypeCfgArray.Instance.GetCfgsBytype(taskCfg.paramsArr[0])[0].typeName;
-                    if (taskCfg.paramsArr.Length > 1)
+                    var name = CommonDataManager.Tables.TblEctypeCfg.GetGroup1ByType(taskCfg.Params1[0])[0].TypeName;
+                    if (taskCfg.Params1.Count > 1)
                     {
                     {
-                        name = EctypeCfgArray.Instance
-                            .GetCfgBytypeAndsubType(taskCfg.paramsArr[0], taskCfg.paramsArr[1]).subName;
+                        name =CommonDataManager.Tables.TblEctypeCfg
+                            .GetGroup1ByTypeAndSubType(taskCfg.Params1[0], taskCfg.Params1[1])[0].SubName;
                     }
                     }
-                    return string.Format(activeRewardCfg.desc, taskCfg.GetTargetCount(), name);
+
+                    return string.Format(activeRewardCfg.Desc, taskCfg.GetTargetCount(), name);
                 case ConstTaskType.UseItem:
                 case ConstTaskType.UseItem:
                 case ConstTaskType.AddItem:
                 case ConstTaskType.AddItem:
-                    var cfg = ItemCfgArray.Instance.GetCfg(taskCfg.paramsArr[0]);
-                    return string.Format(activeRewardCfg.desc, taskCfg.GetTargetCount(), cfg.name);
+                    var cfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(taskCfg.Params1[0]);
+                    return string.Format(activeRewardCfg.Desc, taskCfg.GetTargetCount(), cfg.Name);
                 case ConstTaskType.Suitsynthesis:
                 case ConstTaskType.Suitsynthesis:
-                    var suitCfg = SuitCfgArray.Instance.GetCfg(taskCfg.paramsArr[0]);
-                    return string.Format(activeRewardCfg.desc, suitCfg.name);
+                    var suitCfg = CommonDataManager.Tables.TblSuitCfg.GetOrDefault(taskCfg.Params1[0]);
+                    return string.Format(activeRewardCfg.Desc, suitCfg.Name);
                 case ConstTaskType.UpgradeCardLvl:
                 case ConstTaskType.UpgradeCardLvl:
-                    return string.Format(activeRewardCfg.desc, taskCfg.GetTargetCount(), taskCfg.paramsArr[0]);
+                    return string.Format(activeRewardCfg.Desc, taskCfg.GetTargetCount(), taskCfg.Params1[0]);
                 case ConstTaskType.UpgradeCardStar:
                 case ConstTaskType.UpgradeCardStar:
-                    return string.Format(activeRewardCfg.desc, taskCfg.GetTargetCount(), taskCfg.paramsArr[0]/5);
+                    return string.Format(activeRewardCfg.Desc, taskCfg.GetTargetCount(), taskCfg.Params1[0] / 5);
                 case ConstTaskType.FinishStory:
                 case ConstTaskType.FinishStory:
                 case ConstTaskType.FinishInstanceZones:
                 case ConstTaskType.FinishInstanceZones:
-                    {
-                        return string.Format(activeRewardCfg.desc, taskCfg.paramsArr[0]);
-                    }
+                {
+                    return string.Format(activeRewardCfg.Desc, taskCfg.Params1[0]);
+                }
                 case ConstTaskType.PlayTheLuckyBox:
                 case ConstTaskType.PlayTheLuckyBox:
-                    var luckyBoxId = taskCfg.paramsArr[0];
-                    var luckyBoxCfg = LuckyBoxCfgArray.Instance.GetCfg(luckyBoxId);
-                    return string.Format(activeRewardCfg.desc, luckyBoxCfg.name, taskCfg.GetTargetCount());
+                    var luckyBoxId = taskCfg.Params1[0];
+                    var luckyBoxCfg = CommonDataManager.Tables.TblLuckyBoxCfg.GetOrDefault(luckyBoxId);
+                    return string.Format(activeRewardCfg.Desc, luckyBoxCfg.Name, taskCfg.GetTargetCount());
                 case ConstTaskType.UpgradeCardSkill:
                 case ConstTaskType.UpgradeCardSkill:
-                    return string.Format(activeRewardCfg.desc, taskCfg.paramsArr[0], taskCfg.GetTargetCount());
+                    return string.Format(activeRewardCfg.Desc, taskCfg.Params1[0], taskCfg.GetTargetCount());
                 case ConstTaskType.CollectParts:
                 case ConstTaskType.CollectParts:
-                    string itemType = ItemTypeCfgArray.Instance.GetCfg(taskCfg.paramsArr[0]).name;
-                    return string.Format(activeRewardCfg.desc, itemType, taskCfg.GetTargetCount());
-                default: return string.Format(activeRewardCfg.desc, taskCfg.GetTargetCount());
+                    string itemType = CommonDataManager.Tables.TblItemCfg.GetOrDefault(taskCfg.Params1[0]).Name;
+                    return string.Format(activeRewardCfg.Desc, itemType, taskCfg.GetTargetCount());
+                default: return string.Format(activeRewardCfg.Desc, taskCfg.GetTargetCount());
             }
             }
         }
         }
 
 
@@ -237,6 +245,7 @@ namespace GFGGame
                     return true;
                     return true;
                 }
                 }
             }
             }
+
             return false;
             return false;
         }
         }
 
 
@@ -245,11 +254,13 @@ namespace GFGGame
             var _cfgsAll = TaskDataManager.Instance.GetTaskCfgs(taskFuncType);
             var _cfgsAll = TaskDataManager.Instance.GetTaskCfgs(taskFuncType);
             foreach (var info in _cfgsAll)
             foreach (var info in _cfgsAll)
             {
             {
-                if (info.achievementType == taskFuncSub + 1) {
-                    if (TaskDataManager.Instance.GetTaskStateById(info.id) == 1)
+                if (info.AchievementType == taskFuncSub + 1)
+                {
+                    if (TaskDataManager.Instance.GetTaskStateById(info.Id) == 1)
                         return true;
                         return true;
                 }
                 }
             }
             }
+
             return false;
             return false;
         }
         }
 
 
@@ -259,13 +270,13 @@ namespace GFGGame
             TaskType2TaskIdListDic.Clear();
             TaskType2TaskIdListDic.Clear();
         }
         }
 
 
-        public int[][] GetReward(TaskCfg taskCfg)
+        public List<ItemParam> GetReward(TaskCfg taskCfg)
         {
         {
-            var activityId = taskCfg.activityId;
-            if (activityId == 0) return taskCfg.rewardsArr;
+            var activityId = taskCfg.ActivityId;
+            if (activityId == 0) return taskCfg.Rewards.ToGfgGameItemParam();
             return !ActivityGlobalDataManager.Instance.IsActivityOpen(activityId)
             return !ActivityGlobalDataManager.Instance.IsActivityOpen(activityId)
-                ? taskCfg.rewardsArr
-                : taskCfg.activityRewardsArr;
+                ? taskCfg.Rewards.ToGfgGameItemParam()
+                : taskCfg.ActivityRewards.ToGfgGameItemParam();
         }
         }
 
 
         public void SaveAchievementTaskTypeProList(List<AchievementTaskTypePro> AchievementTaskTypeProList)
         public void SaveAchievementTaskTypeProList(List<AchievementTaskTypePro> AchievementTaskTypeProList)
@@ -275,8 +286,10 @@ namespace GFGGame
 
 
         public void SaveAchievementTaskTypePro(AchievementTaskTypePro AchievementTaskTypePro)
         public void SaveAchievementTaskTypePro(AchievementTaskTypePro AchievementTaskTypePro)
         {
         {
-            foreach (var info in saveAchievementTaskTypeProList) {
-                if (info.AchievementType == AchievementTaskTypePro.AchievementType) {
+            foreach (var info in saveAchievementTaskTypeProList)
+            {
+                if (info.AchievementType == AchievementTaskTypePro.AchievementType)
+                {
                     info.AchievementType = AchievementTaskTypePro.AchievementType;
                     info.AchievementType = AchievementTaskTypePro.AchievementType;
                     info.CompleteTaskNum = AchievementTaskTypePro.CompleteTaskNum;
                     info.CompleteTaskNum = AchievementTaskTypePro.CompleteTaskNum;
                 }
                 }

+ 8 - 7
GameClient/Assets/Game/HotUpdate/Data/TimeTracingDataManager.cs

@@ -1,5 +1,6 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using UnityEngine;
 using UnityEngine;
 using ET;
 using ET;
 
 
@@ -53,7 +54,7 @@ namespace GFGGame
             }
             }
             foreach (int i in IdList)
             foreach (int i in IdList)
             {
             {
-                chapterIdList.Add(ActivityOpenCfgArray.Instance.GetCfg(i).params3Arr[0]);
+                chapterIdList.Add( CommonDataManager.Tables.TblActivityOpenCfg.GetOrDefault(i).Params3[0]);
             }
             }
         }
         }
         //获取关卡奖励状态
         //获取关卡奖励状态
@@ -104,7 +105,7 @@ namespace GFGGame
         {
         {
             long num = 0;
             long num = 0;
             ItemData itemdata;
             ItemData itemdata;
-            CompositebonusCfg comCfg = CompositebonusCfgArray.Instance.GetCfg(rewardID);
+            CompositebonusCfg comCfg = CommonDataManager.Tables.TblCompositebonusCfg.GetOrDefault(rewardID);
             if (BagDataManager.Instance.GetBagData().TryGetValue(itemID, out itemdata))
             if (BagDataManager.Instance.GetBagData().TryGetValue(itemID, out itemdata))
             {
             {
                 num = itemdata.num;
                 num = itemdata.num;
@@ -113,7 +114,7 @@ namespace GFGGame
             {
             {
                 num = 0;
                 num = 0;
             }
             }
-            if(num < comCfg.count)
+            if(num < comCfg.Count)
             {
             {
                 return ConstBonusStatus.CAN_NOT_GET;
                 return ConstBonusStatus.CAN_NOT_GET;
             }
             }
@@ -156,18 +157,18 @@ namespace GFGGame
         //通过章节id判断所有奖励状态
         //通过章节id判断所有奖励状态
         public bool GetChapterIDRewardStatus(int chapID)
         public bool GetChapterIDRewardStatus(int chapID)
         {
         {
-            List<CompositebonusCfg> comBonusList = CompositebonusCfgArray.Instance.GetCfgsBychapterId(chapID);
+            List<CompositebonusCfg> comBonusList = CommonDataManager.Tables.TblCompositebonusCfg.GetGroup1ByChapterId(chapID);
             foreach(CompositebonusCfg item in comBonusList)
             foreach(CompositebonusCfg item in comBonusList)
             {
             {
-                if (GetChapterRewardIDStatus(item.id, item.paramsArr[0]) == 1)
+                if (GetChapterRewardIDStatus(item.Id, item.Params1[0]) == 1)
                 {
                 {
                     return true;
                     return true;
                 }
                 }
             }
             }
-            List<StoryLevelCfg> levelList = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(6, 2, chapID);
+            List<StoryLevelCfg> levelList = StoryLevelConfigManager.GetConfigs(6, 2, chapID);
             foreach(StoryLevelCfg levelItem in levelList)
             foreach(StoryLevelCfg levelItem in levelList)
             {
             {
-               if(GetLevelRewardStatus(levelItem.id))
+               if(GetLevelRewardStatus(levelItem.Id))
                 {
                 {
                     return true;
                     return true;
                 }
                 }

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

@@ -20,9 +20,9 @@ namespace GFGGame
 
 
         public int GetTravelIndexByLocationId(int locationId)
         public int GetTravelIndexByLocationId(int locationId)
         {
         {
-            for (int i = 0; i < TravelLoactionCfgArray.Instance.dataArray.Length; i++)
+            for (int i = 0; i < CommonDataManager.Tables.TblTravelLoactionCfg.DataList.Count; i++)
             {
             {
-                if (TravelLoactionCfgArray.Instance.dataArray[i].id == locationId)
+                if (CommonDataManager.Tables.TblTravelLoactionCfg.DataList[i].Id == locationId)
                 {
                 {
                     return i;
                     return i;
                 }
                 }
@@ -38,9 +38,9 @@ namespace GFGGame
 
 
         public int GetGuideIndexByAreaId(int areaId)
         public int GetGuideIndexByAreaId(int areaId)
         {
         {
-            for (int i = 0; i < TravelGuideCfgArray.Instance.dataArray.Length; i++)
+            for (int i = 0; i < CommonDataManager.Tables.TblTravelGuideCfg.DataList.Count ; i++)
             {
             {
-                if (TravelGuideCfgArray.Instance.dataArray[i].id == areaId)
+                if (CommonDataManager.Tables.TblTravelGuideCfg.DataList[i].Id == areaId)
                 {
                 {
                     return i;
                     return i;
                 }
                 }

+ 7 - 0
GameClient/Assets/Game/HotUpdate/Data/VO/BagEquipmentData.cs

@@ -0,0 +1,7 @@
+namespace GFGGame
+{
+    public class BagEquipmentData
+    {
+        public long PictureId;
+    }
+}

+ 3 - 0
GameClient/Assets/Game/HotUpdate/Data/VO/BagEquipmentData.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 641cade810e34b559c66e33444047856
+timeCreated: 1744285995

+ 3 - 2
GameClient/Assets/Game/HotUpdate/Data/VO/CardData.cs

@@ -1,5 +1,6 @@
 using ET;
 using ET;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 
 
 namespace GFGGame
 namespace GFGGame
 {
 {
@@ -21,7 +22,7 @@ namespace GFGGame
             {
             {
                 if(_resources == null)
                 if(_resources == null)
 {
 {
-                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(id);
+                    ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(id);
                     _resources = CardDataManager.GetCardResources(itemCfg);
                     _resources = CardDataManager.GetCardResources(itemCfg);
                 }
                 }
                 return _resources;
                 return _resources;
@@ -33,7 +34,7 @@ namespace GFGGame
         {
         {
             get
             get
             {
             {
-                return ItemCfgArray.Instance.GetCfg(id);
+                return CommonDataManager.Tables.TblItemCfg.GetOrDefault(id);
             }
             }
         }
         }
 
 

+ 2 - 0
GameClient/Assets/Game/HotUpdate/Data/VO/DropOutData.cs

@@ -1,4 +1,6 @@
 
 
+using cfg.GfgCfg;
+
 namespace GFGGame
 namespace GFGGame
 {
 {
     public class DropOutData
     public class DropOutData

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Data/VO/FightData.cs

@@ -11,7 +11,7 @@ namespace GFGGame
         public long leagueSkillScore;//角色雅集技能分数
         public long leagueSkillScore;//角色雅集技能分数
         public int cardId;//词牌id
         public int cardId;//词牌id
         public int cardScore;//词牌对应主题的属性分数(卡牌属性分数)
         public int cardScore;//词牌对应主题的属性分数(卡牌属性分数)
-        public string[] tags = { };////本次战斗要求的标签
+        public List<string> tags = new List<string>();////本次战斗要求的标签
         public List<int> skillLvs = new List<int>();
         public List<int> skillLvs = new List<int>();
         public List<float> itemScoreList = new List<float>();//对应服装当前主题的实际分数
         public List<float> itemScoreList = new List<float>();//对应服装当前主题的实际分数
         public Dictionary<int, int> itemScoreDic = new Dictionary<int, int>();//对应服装当前主题的实际分数
         public Dictionary<int, int> itemScoreDic = new Dictionary<int, int>();//对应服装当前主题的实际分数

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Data/VO/GiftBoxData.cs

@@ -1,4 +1,5 @@
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 
 
 namespace GFGGame
 namespace GFGGame
 {
 {

+ 9 - 9
GameClient/Assets/Game/HotUpdate/Data/VO/ItemData.cs

@@ -11,7 +11,7 @@ namespace GFGGame
         public int itemType;
         public int itemType;
         public int subType;
         public int subType;
         public int rarity;
         public int rarity;
-        public int[][] syntheticMateriarsArr;
+        public List<ItemParam> syntheticMateriarsArr;
         public int[] param2Arr;
         public int[] param2Arr;
 
 
         private Dictionary<int, int> AttributesDic = new Dictionary<int, int>();
         private Dictionary<int, int> AttributesDic = new Dictionary<int, int>();
@@ -45,16 +45,16 @@ namespace GFGGame
         {
         {
             get
             get
             {
             {
-                var cfg = ItemCfgArray.Instance.GetCfg(id);
-                return GetScore(cfg.mainScore > 0 ? cfg.mainScore : 1);
+                var cfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(id);
+                return GetScore(cfg.MainScore > 0 ? cfg.MainScore : 1);
             }
             }
         }
         }
 
 
         public int GetScore(int scoreType)
         public int GetScore(int scoreType)
         {
         {
             int valueBase = 0;
             int valueBase = 0;
-            var cfg = ItemCfgArray.Instance.GetCfg(id);
-            if (cfg.itemType == ConstItemType.CARD)
+            var cfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(id);
+            if (cfg.ItemType == ConstItemType.CARD)
             {
             {
                 CardData cardData = CardDataManager.GetCardDataById(id);
                 CardData cardData = CardDataManager.GetCardDataById(id);
                 if (cardData == null || !cardData.scores.ContainsKey(scoreType)) return 0;
                 if (cardData == null || !cardData.scores.ContainsKey(scoreType)) return 0;
@@ -63,16 +63,16 @@ namespace GFGGame
             switch (scoreType)
             switch (scoreType)
             {
             {
                 case (int)ConstItemAttributeType.FENG:
                 case (int)ConstItemAttributeType.FENG:
-                    valueBase = cfg.score1;
+                    valueBase = cfg.Score1;
                     break;
                     break;
                 case (int)ConstItemAttributeType.HUA:
                 case (int)ConstItemAttributeType.HUA:
-                    valueBase = cfg.score2;
+                    valueBase = cfg.Score2;
                     break;
                     break;
                 case (int)ConstItemAttributeType.XUE:
                 case (int)ConstItemAttributeType.XUE:
-                    valueBase = cfg.score3;
+                    valueBase = cfg.Score3;
                     break;
                     break;
                 case (int)ConstItemAttributeType.YUE:
                 case (int)ConstItemAttributeType.YUE:
-                    valueBase = cfg.score4;
+                    valueBase = cfg.Score4;
                     break;
                     break;
             }
             }
             AttributesDic.TryGetValue(CalculateHelper.GetItemScoreKey(scoreType, (int)ConstItemAttributeActionType.ADD_VALUE), out var valueAdd);
             AttributesDic.TryGetValue(CalculateHelper.GetItemScoreKey(scoreType, (int)ConstItemAttributeActionType.ADD_VALUE), out var valueAdd);

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Data/VO/LeagueData.cs

@@ -1,4 +1,5 @@
 using System.Collections.Generic;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 
 
 namespace GFGGame
 namespace GFGGame
 {
 {

Неке датотеке нису приказане због велике количине промена