hexiaojie před 8 měsíci
rodič
revize
33dc10b926
58 změnil soubory, kde provedl 1808 přidání a 1320 odebrání
  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.Collections;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using UnityEngine;
 
 namespace GFGGame
@@ -46,7 +47,7 @@ namespace GFGGame
         public void InitActivityInfo()
         {
             Info = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.AFZL);
-            RewardCfgs = ActivityLoginCfgArray.Instance.GetCfgsByid(Info.ActivityId);
+            RewardCfgs = CommonDataManager.Tables.TblActivityLoginCfg.GetGroup1ById(Info.ActivityId);
         }
 
         public int GetNormalRewardStateByDay(int indexDay)

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

@@ -1,5 +1,6 @@
 using ET;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 
 namespace GFGGame
 {
@@ -130,30 +131,30 @@ namespace GFGGame
                 int stateB = 0;
                 if (typeId == ConstLimitTimeActivityType.ActLimitLuckyBox) {
                     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) 
                 {
                     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)
                 {
                     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 (stateB >= 0 && stateA < 0) return -1;
 
-                return a.num - b.num;
+                return a.Num - b.Num;
             });
             return list;
         }
@@ -285,14 +286,14 @@ namespace GFGGame
         {
             List<ActivityDressCfg> zcjbCfgList = new List<ActivityDressCfg>();
             int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(17);
-            zcjbCfgList = ActivityDressCfgArray.Instance.GetCfgsByactivityId(activityId);
+            zcjbCfgList = CommonDataManager.Tables.TblActivityDressCfg.GetGroup1ByActivityId(activityId);
             if (zcjbCfgList == null || zcjbCfgList.Count == 0)
             {
                 return false;
             }
             ItemData numItem;
             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;
             }
@@ -305,7 +306,7 @@ namespace GFGGame
             {
                     if (i == ActivityDataManager.Instance.ActivityZCJBList.Count)
                     {
-                        if (num >= zcjbCfgList[i].comsumeArr[0][1])
+                        if (num >= zcjbCfgList[i].Comsume[0].Count)
                         {
                             return true;
                         }
@@ -339,12 +340,12 @@ namespace GFGGame
         public bool CheckPearRebateTips(int id)
         {
             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;
                     
@@ -388,7 +389,7 @@ namespace GFGGame
         }
         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;
             endTime = endTime * 60;
             long time = GameGlobal.zoneScene.GetComponent<RoleInfosComponent>().GetCurrentRole().CreateTime;
@@ -399,10 +400,10 @@ namespace GFGGame
         public bool isExtendTime(int day)
         {
             int id = ActivityDataManager.Instance.GetCurOpenActiveByType(17);
-            ActivityOpenCfg activityCfg = ActivityOpenCfgArray.Instance.GetCfg(id);
+            ActivityOpenCfg activityCfg = CommonDataManager.Tables.TblActivityOpenCfg.GetOrDefault(id);
             if (activityCfg != null)
             {
-                long endTime = TimeUtil.DateTimeToTimestamp(activityCfg.endTime);
+                long endTime = TimeUtil.DateTimeToTimestamp(activityCfg.EndTime);
                 long ExtendTime = (day * 24 * 60 * 60 * 1000);
                 long currentTime = TimeHelper.ServerNow();
                 if (currentTime > endTime)

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

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

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

@@ -1,5 +1,6 @@
 using System.Collections.Generic;
 using System.Linq;
+using cfg.GfgCfg;
 using ET;
 using FairyGUI;
 
@@ -108,14 +109,14 @@ namespace GFGGame
 
         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>();
             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();

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

@@ -2,6 +2,7 @@
 using GFGGame;
 using System.Collections;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using UnityEngine;
 
 namespace Assets.Game.HotUpdate.Data
@@ -20,7 +21,7 @@ namespace Assets.Game.HotUpdate.Data
             {
                 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;
 
             foreach (NpcVisitProto t in NpcInfoList)
@@ -71,13 +72,13 @@ namespace Assets.Game.HotUpdate.Data
                 return false;
             }
             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 false;
@@ -88,11 +89,11 @@ namespace Assets.Game.HotUpdate.Data
         {
             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)
                     {
-                        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)
                             {
@@ -104,7 +105,7 @@ namespace Assets.Game.HotUpdate.Data
             }
             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)
                     {

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

@@ -1,6 +1,8 @@
 using ET;
 using GFGGame;
 using System.Collections;
+using System.Collections.Generic;
+using cfg.GfgCfg;
 using UnityEngine;
 
 namespace Assets.Game.HotUpdate.Data
@@ -11,10 +13,10 @@ namespace Assets.Game.HotUpdate.Data
         {
             ActivityInfo _activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.WanShiLi);
             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;
                 }

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

@@ -1,6 +1,7 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using cfg.GfgCfg;
 using ET;
 using UnityEngine;
 using FairyGUI;
@@ -106,11 +107,11 @@ namespace GFGGame
             get
             {
                 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;
@@ -131,8 +132,8 @@ namespace GFGGame
         {
             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;
                 }
@@ -166,7 +167,7 @@ namespace GFGGame
             if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.FieldWork)
             {
                 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)
                 {
                     if (item.UseNum >= limitTims)
@@ -190,8 +191,8 @@ namespace GFGGame
             }
             cardDatas = cardDatas.Where(a => !wearCardIds.Contains(a.id)).ToList();
             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>
@@ -200,7 +201,7 @@ namespace GFGGame
         /// <param name="scoreType"></param>
         /// <param name="tags"></param>
         /// <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>> itemDatasDic = DressUpMenuItemDataManager.ItemDatasBySubTypeDic;
@@ -325,7 +326,7 @@ namespace GFGGame
         /// <param name="scoreType"></param>
         /// <param name="tags"></param>
         /// <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>> itemDatasDic = DressUpMenuItemDataManager.ItemDatasBySubTypeDic;
@@ -443,12 +444,12 @@ namespace GFGGame
 
             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) =>
             {
-                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 isTagB = ItemDataManager.CheckItemTagsRight(b, tags);
                 if (isTagA && !isTagB) return -1;
@@ -457,7 +458,7 @@ namespace GFGGame
                 int scoreB = ItemDataManager.GetItemAdditionScore(b, scoreType, tags);
                 if (scoreA > scoreB) return -1;
                 if (scoreA < scoreB) return 1;
-                return cfgA.id - cfgB.id;
+                return cfgA.Id - cfgB.Id;
             });
             return dressList;
         }
@@ -469,12 +470,12 @@ namespace GFGGame
         /// <param name="itemList">服装列表</param>
         /// <param name="tags">标签</param>
         /// <returns></returns>
-        public int GetTagsCount(List<int> itemList, string[] tags)
+        public int GetTagsCount(List<int> itemList, List<string> tags)
         {
             int count = 0;
             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)
                     {
@@ -634,8 +635,8 @@ namespace GFGGame
         private long GetRobotPerfectClickScore(FightData robotData)
         {
             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 +=
                     (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)
         {
-            ItemCfg itemdate = ItemCfgArray.Instance.GetCfg(itemId);
+            ItemCfg itemdate = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
             ItemData itemDate = new ItemData() { };
             if (itemdate != null)
             {
-                itemDate.id = itemdate.id;
+                itemDate.id = itemdate.Id;
                 int scroe = 0;
                 if (tags != null)
                 {
-                    scroe += ItemDataManager.GetItemTagScore(itemId, tags);
+                    scroe += ItemDataManager.GetItemTagScore(itemId, new List<string>(tags));
                 }
                 scroe += itemDate.GetScore(scoreType);
                 return scroe;

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

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using FairyGUI;
 using UI.Arena;
 using UnityEngine;
@@ -64,10 +65,10 @@ namespace GFGGame
             item.m_loaScore.url = ResPathUtil.GetScorePath(scoreType);
             item.m_txtMyScore.text = myScore.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);
             if (targetHeadId > 0)
             {
@@ -131,8 +132,8 @@ namespace GFGGame
             com.m_txtFightScore.SetVar("value", fightScore.ToString()).FlushVars(); ;
             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);
-            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);
             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.Linq;
+using cfg.GfgCfg;
 using ET;
 
 namespace GFGGame
@@ -48,9 +49,9 @@ namespace GFGGame
             SeasonId = seasonId;
             //设置赛季结束时间
             //获取赛季配置
-            var seasonCfg = BattlePassOpenCfgArray.Instance.GetCfg(seasonId);
+            var seasonCfg = CommonDataManager.Tables.TblBattlePassOpenCfg.GetOrDefault(seasonId);
             if (seasonCfg == null) return;
-            SeasonEndTime = TimeUtil.GetResetTimeSec(seasonCfg.endTime);
+            SeasonEndTime = TimeUtil.GetResetTimeSec(seasonCfg.EndTime);
         }
 
         public void SetIsBuy(bool isBuy)
@@ -111,7 +112,7 @@ namespace GFGGame
                 SetSpecialCfgCache();
             }
             var targetLevel = selectionCache.GetValueNoCache(level);
-            return BattlePassCfgArray.Instance.GetCfgByidAndlevel(SeasonId, targetLevel);
+            return CommonDataManager.Tables.TblBattlePassCfg.GetGroup1ByIdAndLevel(SeasonId, targetLevel)[0];
         }
 
         private void SetSpecialCfgCache()
@@ -121,11 +122,11 @@ namespace GFGGame
             var selections = new List<Selection<int, int>>();
             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));
-                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);
         }
 
@@ -143,12 +144,12 @@ namespace GFGGame
         private void InitItemTemp()
         {
             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>();
-            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)
             {
@@ -157,17 +158,17 @@ namespace GFGGame
         }
 
         //获取升级奖励
-        public int[][] GetUpLevelReward(int upLevel)
+        public List<ItemParam> GetUpLevelReward(int upLevel)
         {
             var battlePassLevel = GetBattlePassLevel();
             var seasonId = GetSeasonId();
-            int[][] rs = null;
+            List<ItemParam> rs = null;
             for (var i = upLevel; i > 0; 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;
-                var mergeBonus = ItemUtil.MergeBonus(cfg.bonusNormalArr, cfg.bonusSpecialArr);
+                var mergeBonus = ItemUtil.MergeBonus(cfg.BonusNormal.ToGfgGameItemParam(), cfg.BonusSpecial.ToGfgGameItemParam());
                 rs = ItemUtil.MergeBonus(rs, mergeBonus);
             }
             return rs;
@@ -205,15 +206,15 @@ namespace GFGGame
         //筛选出大奖数据 
         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>();
             foreach (var info in battlePassCfgs) {
-                if(info.id == SeasonId)
+                if(info.Id == SeasonId)
                     battlePassTypeCfg.Add(info);
             }
             battlePassTypeCfg.Sort((BattlePassCfg a, BattlePassCfg b) =>
             {
-                if (a.level < b.level) return -1;
+                if (a.Level < b.Level) return -1;
 
                 return 1;
             });
@@ -224,7 +225,7 @@ namespace GFGGame
         public bool CheckStoreBrocadeWeavRed()
         {
             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();
             for (int level = 1; level < _rewardCfgs.Count; level++) {
                 var state = GetRewardState(level);

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

@@ -1,4 +1,5 @@
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using UnityEngine;
 
 namespace GFGGame
@@ -21,7 +22,7 @@ namespace GFGGame
         //     }
         //     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>();
             foreach (int dropId in dropIds)
@@ -35,21 +36,21 @@ namespace GFGGame
         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++)
             {
 
-                List<DropOutCfg> _dropOutCfgs = DropOutCfgArray.Instance.GetCfgsByid(dropOutCfgs[i].item);
+                List<DropOutCfg> _dropOutCfgs = CommonDataManager.Tables.TblDropOutCfg.GetGroup1ById(dropOutCfgs[i].Item);
                 if (_dropOutCfgs.Count > 0)
                 {
 
-                    GetDropItemData(dropOutCfgs[i].item, result);
+                    GetDropItemData(dropOutCfgs[i].Item, result);
                 }
                 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);
                     }

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

@@ -1,5 +1,6 @@
 using System.Collections.Generic;
 using System.Collections;
+using cfg.GfgCfg;
 // using System;
 using UnityEngine;
 namespace GFGGame
@@ -45,29 +46,29 @@ namespace GFGGame
 
         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)
             {
-                bonus = chapterCfg.bonus2Arr;
+                bonus = chapterCfg.Bonus2.ToGfgGameItemParam();
             }
             else if (index == 2)
             {
-                bonus = chapterCfg.bonus3Arr;
+                bonus = chapterCfg.Bonus3.ToGfgGameItemParam();
             }
             return ItemUtil.CreateItemDataList(bonus);
         }
         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)
             {
-                star = chapterCfg.bonusStar2;
+                star = chapterCfg.BonusStar2;
             }
             else if (index == 2)
             {
-                star = chapterCfg.bonusStar3;
+                star = chapterCfg.BonusStar3;
             }
             return star;
         }
@@ -79,13 +80,13 @@ namespace GFGGame
             {
                 bonusData = new StoryBonusData();
                 _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

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

@@ -3,6 +3,7 @@ using System;
 using System.Collections;
 using System.Collections.Generic;
 using System.Linq;
+using cfg.GfgCfg;
 using ET;
 using UnityEngine;
 
@@ -73,10 +74,10 @@ namespace GFGGame
         public static List<string> GetCardResources(ItemCfg itemCfg)
         {
             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;
         }
@@ -87,8 +88,8 @@ namespace GFGGame
 
             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)
                 {
                     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;
         }
@@ -159,9 +160,9 @@ namespace GFGGame
         public static bool isFullLv(int cardId, int lv, bool showTips = true)
         {
             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)
                 {
@@ -177,7 +178,7 @@ namespace GFGGame
         public static bool isFullStar(int cardId, int star, bool showTips = true)
         {
             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)
                 {
@@ -196,21 +197,21 @@ namespace GFGGame
             showLv = curLv;
             showExp = curExp + hasExp;
             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)
                 {
                     //满级
-                    showExp = tCurCfg.needExp;
+                    showExp = tCurCfg.NeedExp;
                     break;
                 }
                 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++)
             {
                 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 ||
                 _selectFosterList.IndexOf(ConstCardState.STATE_FULL_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)
             {
-                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)
                     {
                         _cardStoryCfgDic.Add(_cardId, new List<CardStoryCfg>());
@@ -260,14 +261,14 @@ namespace GFGGame
         public static bool GetUpStarEnoughMaterial(int 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 &&
-                    ItemDataManager.GetItemNum(starCfg.materiarsArr[i][0]) < starCfg.materiarsArr[i][1])
+                    ItemDataManager.GetItemNum(starCfg.Materiars[i].ItemId) < starCfg.Materiars[i].Count)
                     return false;
                 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;
             }
 
@@ -285,11 +286,11 @@ namespace GFGGame
         {
             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) =>
             {
-                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)
                 {
@@ -300,25 +301,25 @@ namespace GFGGame
                     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++)
             {
-                if (itemCfgs[i].isHide > 0)
+                if (itemCfgs[i].IsHide > 0)
                 {
                     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)
         {
-            totalCount = GlobalCfgArray.globalCfg.CardCount;
+            totalCount = CommonDataManager.Tables.TblGlobalCfg.CardCount;
 
             if (mainScore != 0)
             {
-                List<ItemCfg> itemCfgs = ItemCfgArray.Instance.GetCfgsByitemType(ConstItemType.CARD);
+                List<ItemCfg> itemCfgs = CommonDataManager.Tables.TblItemCfg.GetGroup1ByItemType(ConstItemType.CARD);
                 totalCount = 0;
                 for (int i = 0; i < itemCfgs.Count; i++)
                 {
-                    if (itemCfgs[i].isHide > 0)
+                    if (itemCfgs[i].IsHide > 0)
                     {
                         continue;
                     }
 
-                    if (itemCfgs[i].mainScore == mainScore)
+                    if (itemCfgs[i].MainScore == mainScore)
                     {
                         ++totalCount;
                     }
@@ -352,9 +353,9 @@ namespace GFGGame
 
         public static int GetNextUpCardNeedRoleLv(int cardLv) { 
             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)
                 {
                     roleLv = i;

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

@@ -4,6 +4,7 @@ using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using System.Text.RegularExpressions;
+using cfg.GfgCfg;
 
 namespace GFGGame
 {
@@ -57,14 +58,14 @@ namespace GFGGame
                 List<int> item = new List<int>() { 3, 9 };
                 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)
                     {
                         item.Add(0);
                     }
                     else
                     {
-                        item.Add(collectcfg.value);
+                        item.Add(collectcfg.Value);
                     }
                     if (CollectPartDataDic.ContainsKey(99))
                     {
@@ -77,14 +78,14 @@ namespace GFGGame
                 }
                 else
                 {
-                    collectcfg = CollegeBoostCfgArray.Instance.GetCfgBytypePartsAndtypePhaseAndlayer(i, item[0], item[1]);
+                    collectcfg = CommonDataManager.Tables.TblCollegeBoostCfg.Get(i, item[0], item[1]);
                     if (collectcfg == null)
                     {
                         item.Add(0);
                     }
                     else
                     {
-                        item.Add(collectcfg.value);
+                        item.Add(collectcfg.Value);
                     }
                     if (CollectPartDataDic.ContainsKey(i))
                     {
@@ -103,15 +104,15 @@ namespace GFGGame
         /// </summary>
         public float GetEquipScoresWithPartId(int itemID)
         {
-            CollegeSubTypesCfg[] typeCfgs = CollegeSubTypesCfgArray.Instance.dataArray;
+            List<CollegeSubTypesCfg> typeCfgs = CommonDataManager.Tables.TblCollegeSubTypesCfg.DataList ;
             float addNum = 0;
-            for (int j = 0; j < typeCfgs.Length; j++)
+            for (int j = 0; j < typeCfgs.Count; 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 partIndexCommon = 0;
@@ -123,8 +124,8 @@ namespace GFGGame
                             addNum += 0;
                             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;
                     }
                 }
@@ -145,23 +146,23 @@ namespace GFGGame
             {
                 rankLv += 1;
             }
-            CollegeBoostCfg collegeBoostCfg = CollegeBoostCfgArray.Instance.GetCfgBytypePartsAndtypePhaseAndlayer(pardId,rankIndex,rankLv);
+            CollegeBoostCfg collegeBoostCfg = CommonDataManager.Tables.TblCollegeBoostCfg.Get(pardId,rankIndex,rankLv);
             if (collegeBoostCfg == null)
             {
                 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;
                 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
                 {
-                    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;
                     }
@@ -170,7 +171,7 @@ namespace GFGGame
                         count = 0;
                     }
                 }
-                if(count < collegeBoostCfg.consumeArr[i][1])
+                if(count < collegeBoostCfg.Consume[i].Count)
                 {
                     return false;
                 }
@@ -202,10 +203,10 @@ namespace GFGGame
             bool isRank = false;
             bool isLevel = false;
             bool isPassStory = false;
-            CollegeRankOpenCfg openitem = CollegeRankOpenCfgArray.Instance.GetCfg(partIndex);
+            CollegeRankOpenCfg openitem = CommonDataManager.Tables.TblCollegeRankOpenCfg.Get(partIndex);
             openList = GetOpenList(partIndex);
             //判断段位
-            if (openitem.OpenPreconditionArr == null || openitem.OpenPreconditionArr.Length == 0)
+            if (openitem.OpenPrecondition == null || openitem.OpenPrecondition.Count == 0)
             {
                 isRank = true;
             }
@@ -220,12 +221,12 @@ namespace GFGGame
                 }
             }
             //判断等级
-            if (RoleDataManager.lvl >= openitem.needRoleLv)
+            if (RoleDataManager.lvl >= openitem.NeedRoleLv)
             {
                 isLevel = true;
             }
             //判断关卡
-            if (openitem.needStoryLevelId == 0 || InstanceZonesDataManager.CheckLevelPass(openitem.needStoryLevelId))
+            if (openitem.NeedStoryLevelId == 0 || InstanceZonesDataManager.CheckLevelPass(openitem.NeedStoryLevelId))
             {
                 isPassStory = true;
             }
@@ -240,10 +241,10 @@ namespace GFGGame
         {
             List<int> openList = new List<int>();
             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)
                 {
                     openList.Add(int.Parse(match.Value));

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

@@ -1,4 +1,5 @@
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using ET;
 
 namespace GFGGame
@@ -82,8 +83,8 @@ namespace GFGGame
 
         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++)
             {
                 if (GetPosType(i) == 0)
@@ -120,11 +121,11 @@ namespace GFGGame
         //获取指定位置月卡类型
         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;
         }

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

@@ -43,17 +43,17 @@ namespace GFGGame
         /// <returns></returns>
         public int GetShowLivenessBoxNum(int taskFuncType)
         {
-            var cfgs = TaskActiveRewardCfgArray.Instance.GetCfgsByfuncType(taskFuncType);
+            var cfgs = CommonDataManager.Tables.TblTaskActiveRewardCfg.GetGroup1ByFuncType(taskFuncType);
             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;
-            return cfgs[index].count;
+            return cfgs[index].Count;
         }
      
         public bool GetHadGetRewardNum(int taskFuncType)
@@ -62,9 +62,9 @@ namespace GFGGame
             {
                 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 (taskFuncType != 0 && cfg.funcType != taskFuncType) continue;
+                    if (taskFuncType != 0 && cfg.FuncType != taskFuncType) continue;
                     return true;
                 }
             }

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

@@ -1,4 +1,5 @@
 using System.Collections.Generic;
+using cfg.GfgCfg;
 
 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);
                     if (materialItemType == ConstItemType.DRESS_UP) { 
                         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);
                             if (!_decomposeData.ContainsKey(rarity))
@@ -74,7 +75,7 @@ namespace GFGGame
 
         public void Remove(int itemId)
         {
-            int rarity = ItemCfgArray.Instance.GetCfg(itemId).rarity;
+            int rarity = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId).Rarity;
             long count = ItemCanDecomposeCount(itemId);
 
             if (_decomposeData.ContainsKey(rarity) && _decomposeData[rarity].IndexOf(itemId) >= 0 && count <= 0)
@@ -85,7 +86,7 @@ namespace GFGGame
 
         public void RemoveMaterial(int itemId)
         {
-            int rarity = ItemCfgArray.Instance.GetCfg(itemId).rarity;
+            int rarity = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId).Rarity;
             long count = ItemCanDecomposeMaterialCount(itemId);
 
             if (_decomposeMaterialData.ContainsKey(rarity) && _decomposeMaterialData[rarity].IndexOf(itemId) >= 0 && count <= 0)
@@ -97,19 +98,19 @@ namespace GFGGame
         //分解需要扣去合成需要的数量
         public int DeductSynthesisNeedNum(int itemId)
         {
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+            ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
             if (itemCfg == null)
                 return 0;
 
             int sum = 0;
-            foreach (int syntheticId in itemCfg.syntheticSuitArr)
+            foreach (int syntheticId in itemCfg.SyntheticSuit)
             {
                 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)
             {
-                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;
 
             int skillLv = leagueSkillLvDatas[skillId];
-            PassivitySkillLvlCfg skillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLv, skillId);
+            PassivitySkillLvlCfg skillLvlCfg = CommonDataManager.Tables.TblPassivitySkillLvlCfg.Get(skillLv, skillId);
             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;
-                skillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLvIndex, skillId);
+                skillLvlCfg = CommonDataManager.Tables.TblPassivitySkillLvlCfg.Get(skillLvIndex, skillId);
             }
             return sum;
         }
@@ -244,20 +245,20 @@ namespace GFGGame
         public void InitSuitSyntheticMaterias()
         {
             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++)
             {
-                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))
                         {
                             _suitSyntheticMaterials[materialId] = new List<int>();

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

@@ -5,6 +5,7 @@ using UnityEngine;
 using ET;
 using FairyGUI;
 using System.Threading.Tasks;
+using cfg.GfgCfg;
 
 namespace GFGGame
 {
@@ -117,7 +118,7 @@ namespace GFGGame
             {
                 _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)
             {
                 _itemDatasByRarityDic[rarity].Remove(value);
@@ -263,8 +264,8 @@ namespace GFGGame
         {
             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 isNewB = CheckIsDressUpItemNew(b);
                 if (isNewA != isNewB)
@@ -273,11 +274,11 @@ namespace GFGGame
                     if (isNewB) return 1;
                 }
 
-                if (itemCfgB.rarity > itemCfgA.rarity)
+                if (itemCfgB.Rarity > itemCfgA.Rarity)
                 {
                     return 1;
                 }
-                else if (itemCfgB.rarity < itemCfgA.rarity)
+                else if (itemCfgB.Rarity < itemCfgA.Rarity)
                 {
                     return -1;
                 }
@@ -290,8 +291,8 @@ namespace GFGGame
         {
             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 isNewB = CheckIsDressUpItemNew(b);
                 if (isNewA != isNewB)
@@ -300,11 +301,11 @@ namespace GFGGame
                     if (isNewB) return 1;
                 }
 
-                if (itemCfgB.rarity < itemCfgA.rarity)
+                if (itemCfgB.Rarity < itemCfgA.Rarity)
                 {
                     return 1;
                 }
-                else if (itemCfgB.rarity > itemCfgA.rarity)
+                else if (itemCfgB.Rarity > itemCfgA.Rarity)
                 {
                     return -1;
                 }
@@ -315,8 +316,8 @@ namespace GFGGame
 
         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> recommendList = new List<int>();
@@ -333,8 +334,8 @@ namespace GFGGame
                 {
                     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)
@@ -384,11 +385,11 @@ namespace GFGGame
             List<int> searchList = new List<int>();
             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 (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;
@@ -398,14 +399,14 @@ namespace GFGGame
             List<int> filterList = new List<int>();
             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;
                 bool isTag = 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;
                             break;
@@ -413,10 +414,10 @@ namespace GFGGame
                     }
                 }
                 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;
         }
@@ -427,8 +428,8 @@ namespace GFGGame
             for (int i = 0; i < list.Count; i++)
             {
                 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)
@@ -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++)
                 {
                     if (name.IndexOf(dressSearchTxt[j]) < 0)
@@ -466,8 +467,8 @@ namespace GFGGame
 
             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)
@@ -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);
 
@@ -512,7 +513,7 @@ namespace GFGGame
 
                 for (int j = 0; j < selectRarityList.Count; j++)
                 {
-                    if (cfg != null && cfg.rarity == selectRarityList[j])
+                    if (cfg != null && cfg.Rarity == selectRarityList[j])
                     {
                         isRarity = true;
                         break;
@@ -533,7 +534,7 @@ namespace GFGGame
 
                 for (int j = 0; j < selectRarityList.Count; j++)
                 {
-                    if (cfg != null && cfg.rarity == selectRarityList[j])
+                    if (cfg != null && cfg.Rarity == selectRarityList[j])
                     {
                         isRarity = true;
                         break;
@@ -556,7 +557,7 @@ namespace GFGGame
                 {
                     for (int j = 0; j < selectScoreList.Count; j++)
                     {
-                        if (cfg.mainScore == selectScoreList[j])
+                        if (cfg.MainScore == selectScoreList[j])
                         {
                             isScore = true;
                             break;
@@ -575,14 +576,14 @@ namespace GFGGame
         private static bool FilterScore(SuitCfg suitCfg)
         {
             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 (cfg != null)
                 {
                     for (int j = 0; j < selectScoreList.Count; j++)
                     {
-                        if (cfg.mainScore == selectScoreList[j])
+                        if (cfg.MainScore == selectScoreList[j])
                         {
                             isScore = true;
                             break;
@@ -611,9 +612,9 @@ namespace GFGGame
                         {
                             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;
                                 break;
@@ -648,7 +649,7 @@ namespace GFGGame
         }
         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)
             {
                 _newItemdata[subType].Remove(itemId);
@@ -659,17 +660,17 @@ namespace GFGGame
         {
             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;
                 }
             }
             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;
@@ -678,9 +679,9 @@ namespace GFGGame
         public static bool CheckIsSecondMenuNew(int subMenuId)
         {
             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;
             }
@@ -722,7 +723,7 @@ namespace GFGGame
                 int lasetIndex = itemIDListInited.Count - 1;
                 int itemId = itemIDListInited[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++)
                 {
-                    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++)
                 {
-                    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)
                 {
-                    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
                 {
-                    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) =>
                 {
-                    bool haveA = CheckHasItem(a.id);
-                    bool haveB = CheckHasItem(b.id);
+                    bool haveA = CheckHasItem(a.Id);
+                    bool haveB = CheckHasItem(b.Id);
 
                     if (haveB && !haveA)
                     {
@@ -808,12 +809,12 @@ namespace GFGGame
                         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]))
                 {
-                    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 };
         private static bool CanShow(ItemCfg item)
         {
-            if (defaultID.Contains(item.id))
+            if (defaultID.Contains(item.Id))
             {
                 return false;
             }
-            return item.isHide <= 0;
+            return item.IsHide <= 0;
         }
 
         public static List<int> GetAllDressUpGuideIdListBySubTypes(List<int> subTypes)
@@ -852,26 +853,26 @@ namespace GFGGame
                 int subType = subTypes[j];
                 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
                 {
-                    itemCfgs.AddRange(ItemCfgArray.Instance.GetCfgsByitemTypeAndsubType(ConstItemType.DRESS_UP, subType));
+                    itemCfgs.AddRange(CommonDataManager.Tables.TblItemCfg.GetGroup1ByItemTypeAndSubType(ConstItemType.DRESS_UP, subType));
                 }
             }
 
 
             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)
                 {
@@ -882,12 +883,12 @@ namespace GFGGame
                     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]))
                 {
-                    result.Add(itemCfgs[i].id);
+                    result.Add(itemCfgs[i].Id);
                 }
             }
 
@@ -906,27 +907,27 @@ namespace GFGGame
         public static async Task GetAllDressUpGuideIdListBySubTypeAsync()
         {
             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;
             EventAgent.DispatchEvent(ConstMessage.DRESS_PART_LOAD_FINISHED);
         }
@@ -935,11 +936,11 @@ namespace GFGGame
         {
             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)
                 {
@@ -950,19 +951,19 @@ namespace GFGGame
                     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)
         {
-            totalCount = GlobalCfgArray.globalCfg.ClothingPartsCount;
+            totalCount = CommonDataManager.Tables.TblGlobalCfg.ClothingPartsCount;
             haveCount = 0;
 
             // 除饰品外的散件

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

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

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

@@ -1,6 +1,7 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using cfg.GfgCfg;
 using ET;
 using UnityEngine;
 using UI.FieldWork;
@@ -88,8 +89,8 @@ namespace GFGGame
             com.m_txtFightScore.SetVar("value", fightScore.ToString()).FlushVars(); ;
             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);
-            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);
 
                 ItemUtil.UpdateTag(com.m_comTag, roleDatas[index].tags[0]);
@@ -167,8 +168,8 @@ namespace GFGGame
         {
             float abrasion = 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)
             {
                 return 100;
@@ -242,8 +243,8 @@ namespace GFGGame
         }
         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;
             }
@@ -272,7 +273,7 @@ namespace GFGGame
         public List<CardData> SortCardList(List<CardData> cardList)
         {
             List<CardData> card = new List<CardData>();
-            int limitNum = CimbingTowerCfgArray.Instance.dataArray[0].UseLimit;
+            int limitNum = CommonDataManager.Tables.TblCimbingTowerCfg.DataList[0].UseLimit;
             card = cardList.ToList();
             for(int i = 0;i<card.Count;i++)
             {
@@ -319,7 +320,7 @@ namespace GFGGame
             int roundId = 0;
             int currentTime = SkillBeginTime.FIGHT_BEGIN;
             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++;
                 currentTime = SkillBeginTime.ERVERY_ROUND_BEGIN;

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

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using UnityEngine;
 
 namespace GFGGame
@@ -46,11 +47,11 @@ namespace GFGGame
             if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena || InstanceZonesDataManager.FightScene == ConstInstanceZonesType.FieldWork)
             {
                 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;
                 if (tagCount > 0)
                 {
-                    int additionCfg = ArenaTagCfgArray.Instance.GetCfg(tagCount).addition;
+                    int additionCfg = CommonDataManager.Tables.TblArenaTagCfg.GetOrDefault(tagCount).Addition;
                     addition = additionCfg / 10000f;
                 }
                 score = score * (1 + addition);
@@ -170,7 +171,7 @@ namespace GFGGame
         /// <param name="itemList">服装列表</param>
         /// <param name="tags">标签</param>
         /// <returns></returns>
-        public int GetTagsScore(List<int> itemList, string[] tags)
+        public int GetTagsScore(List<int> itemList, List<string> tags)
         {
             int score = 0;
             for (int i = 0; i < itemList.Count; i++)
@@ -238,7 +239,7 @@ namespace GFGGame
         /// <returns></returns>
         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);
             cardList.Sort((CardData a, CardData b) =>
             {
@@ -262,7 +263,7 @@ namespace GFGGame
                     return -1;
                 }
 
-                return string.Compare(a.itemCfg.res, b.itemCfg.res);
+                return string.Compare(a.itemCfg.Res, b.itemCfg.Res);
             });
             return cardList;
         }
@@ -281,14 +282,14 @@ namespace GFGGame
             float skillScore = 0;
             if (skillLvs.Count == 0) return (long)skillScore;
             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);
             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;
-                skillScore += skillBaseScore * ((float)skillLvlCfg.fightPowerParam / 10000f);
+                skillScore += skillBaseScore * ((float)skillLvlCfg.FightPowerParam / 10000f);
             }
             // ET.Log.Debug("cardId:" + cardId);
             // ET.Log.Debug("skillScore:" + skillScore);
@@ -343,7 +344,7 @@ namespace GFGGame
             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.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++;
                 currentTime = SkillBeginTime.ERVERY_ROUND_BEGIN;

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

@@ -29,7 +29,7 @@ namespace GFGGame
             get
             {
                 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 FairyGUI;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using UnityEngine;
 
 namespace GFGGame
@@ -15,30 +16,30 @@ namespace GFGGame
         public bool CheckIsFunOpenById(string functionId, bool showTips = true)
         {
             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;
         }
 
         public string GetOpenTips(string functionId)
         {
-            FunctionOpenCfg cfg = FunctionOpenCfgArray.Instance.GetCfg(functionId);
+            FunctionOpenCfg cfg = CommonDataManager.Tables.TblFunctionOpenCfg.GetOrDefault(functionId);
             if (cfg == null)
             {
                 return "";
@@ -64,18 +65,18 @@ namespace GFGGame
         /// </summary>
         public void CheckHasChapterFunOpen(int storyLevelCfgId)
         {
-            FunctionOpenCfg[] cfgs = FunctionOpenCfgArray.Instance.dataArray;
+           List<FunctionOpenCfg> cfgs = CommonDataManager.Tables.TblFunctionOpenCfg.DataList;
             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;
-                listCfg.Add(cfgs[i].id);
+                listCfg.Add(cfgs[i].Id);
 
             }
             if (listCfg.Count > 0)
@@ -92,18 +93,18 @@ namespace GFGGame
         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>();
-            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 (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;
-                listCfg.Add(cfgs[i].id);
+                listCfg.Add(cfgs[i].Id);
 
 
             }
@@ -118,19 +119,19 @@ namespace GFGGame
             {
                 await StorageSProxy.ReqGetClientValues();
             }
-            FunctionOpenCfg[] cfgs = FunctionOpenCfgArray.Instance.dataArray;
+            List<FunctionOpenCfg> cfgs = CommonDataManager.Tables.TblFunctionOpenCfg.DataList ;
             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))
                 {
-                    listCfg.Add(cfgs[i].id);
+                    listCfg.Add(cfgs[i].Id);
                 }
             }
             if (listCfg.Count > 0)
@@ -143,17 +144,17 @@ namespace GFGGame
         private bool CheckIsChapterFunOpen(FunctionOpenCfg cfg, bool showTips = true)
         {
 
-            if (cfg.storyLevelId <= 0)
+            if (cfg.StoryLevelId <= 0)
             {
                 return true;
             }
-            if (InstanceZonesDataManager.CheckLevelPass(cfg.storyLevelId))
+            if (InstanceZonesDataManager.CheckLevelPass(cfg.StoryLevelId))
             {
                 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;
         }
 
@@ -162,21 +163,21 @@ namespace GFGGame
         private bool CheckIsLvFunOpen(FunctionOpenCfg cfg, bool showTips = true)
         {
             //GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl)
-            if (RoleDataManager.lvl >= cfg.lv)
+            if (RoleDataManager.lvl >= cfg.Lv)
             {
                 return true;
             }
-            if (showTips) PromptController.Instance.ShowFloatTextPrompt(string.Format("角色达到{0}级解锁", cfg.lv));
+            if (showTips) PromptController.Instance.ShowFloatTextPrompt(string.Format("角色达到{0}级解锁", cfg.Lv));
             return false;
         }
 
         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();
                 if (_currentList3.Count == 0)
@@ -185,9 +186,9 @@ namespace GFGGame
                     return false;
                 }
                 _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;
                 }
                 else
@@ -203,29 +204,29 @@ namespace GFGGame
         private string GetChapterOpenTips(FunctionOpenCfg cfg)
         {
             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;
         }
         private string GetLvTips(FunctionOpenCfg cfg)
         {
             string strTips = "";
-            if (cfg.lv > 0)
+            if (cfg.Lv > 0)
             {
-                strTips = string.Format("角色达到{0}级解锁", cfg.lv);
+                strTips = string.Format("角色达到{0}级解锁", cfg.Lv);
             }
             return strTips;
         }
         private string GetChapterLvTips(FunctionOpenCfg cfg)
         {
             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("收集一套“天衣”套装后解锁");
                 }

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

@@ -1,5 +1,6 @@
 using System.Collections.Generic;
 using System.Linq;
+using cfg.GfgCfg;
 using ET;
 using FairyGUI;
 
@@ -72,10 +73,10 @@ namespace GFGGame
 
         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;
 
-            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.Collections.Generic;
+using cfg.GfgCfg;
 using UnityEngine;
 
 namespace GFGGame
@@ -26,7 +27,7 @@ namespace GFGGame
         //是否战斗结算界面关闭
         public static bool isFightResultHide = false;
 
-        public static string[] currentFightTags;
+        public static List<string> currentFightTags;
 
         private static int _currentLevelCfgId;
 
@@ -41,19 +42,19 @@ namespace GFGGame
             set
             {
                 _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;
                 }
-                if (string.IsNullOrEmpty(levelCfg.fightID))
+                if (string.IsNullOrEmpty(levelCfg.FightID))
                 {
                     currentFightTags = null;
                 }
                 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
             {
-                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();
@@ -89,7 +90,7 @@ namespace GFGGame
         {
             _roleData.name = RoleDataManager.roleName;
             _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)
                 _roleData.leagueSkillScore = LeagueDataManager.Instance.GetAllSkillScore(_roleData.scoreType);
             _roleData.cardId = InstanceZonesDataManager.currentCardId; ;//词牌id
@@ -97,11 +98,11 @@ namespace GFGGame
             CardData cardData = CardDataManager.GetCardDataById(_roleData.cardId);
             _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)
@@ -122,29 +123,29 @@ namespace GFGGame
         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.baseScore = fightCfg.targetBaseScore;
+            _targetData.baseScore = fightCfg.TargetBaseScore;
             _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();
             for (int i = 0; i < skillCfgs.Count; i++)
             {
-                _targetData.skillLvs.Add(fightCfg.targetSkillLvs);
+                _targetData.skillLvs.Add(fightCfg.TargetSkillLvs);
             }
             _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.res = fightCfg.targetRes;
+            _targetData.res = fightCfg.TargetRes;
             return _targetData;
         }
 
@@ -214,9 +215,9 @@ namespace GFGGame
             var star = 0;
             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.chapterId == chapterID && levelCfg.type == type && levelCfg.subType == subType)
+                if (levelCfg.ChapterId == chapterID && levelCfg.Type == type && levelCfg.SubType == subType)
                 {
                     star += item.Value;
                 }
@@ -242,8 +243,8 @@ namespace GFGGame
         {
             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;
             }
         }
@@ -278,10 +279,10 @@ namespace GFGGame
             {
                 return 0;
             }
-            var levelCfg = StoryLevelCfgArray.Instance.GetCfg(levelCfgId);
+            var levelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(levelCfgId);
             if (levelCfg != null)
             {
-                return levelCfg.order;
+                return levelCfg.Order;
             }
             return 0;
         }
@@ -293,11 +294,11 @@ namespace GFGGame
         /// <returns></returns>
         public static bool CheckLevelPass(int levelCfgId)
         {
-            var levelCfg = StoryLevelCfgArray.Instance.GetCfg(levelCfgId);
+            var levelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(levelCfgId);
             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;
         }
@@ -312,7 +313,7 @@ namespace GFGGame
         /// <returns></returns>
         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)
             {
                 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)
             {
                 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)
         {
 
-            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;
                 //神都宸游
-                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;
                 }
             }
             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);
             title = "";
             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);
             }
             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);
             }
             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;
                 times = Math.Min(times, time);
             }
@@ -415,12 +416,12 @@ namespace GFGGame
         }
         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;
             count = 0;
             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)
                 {
                     count++;

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

@@ -1,6 +1,7 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using cfg.GfgCfg;
 using ET;
 using UnityEngine;
 
@@ -44,11 +45,11 @@ namespace GFGGame
                 //游戏角色初始数据完成后才执行
                 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 +
-                                                                   functionOpenCfg.index) == 0)
+                                                                   functionOpenCfg.Index) == 0)
                     {
                         FunctionOpenDataManager.Instance.CheckHasSpecialFunOpen();
                     }
@@ -80,7 +81,7 @@ namespace GFGGame
         {
             if (_dataDic.ContainsKey(itemID))
             {
-                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID);
+                ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemID);
                 ItemData itemData = _dataDic[itemID];
                 itemData.num -= itemNum;
 
@@ -93,24 +94,24 @@ namespace GFGGame
                     {
                         DressUpMenuItemDataManager.Remove(itemID);
                     }
-                    if (itemCfg.itemType == ConstItemType.ITEM)
+                    if (itemCfg.ItemType == ConstItemType.ITEM)
                     {
                         BagDataManager.Instance.Remove(itemID);
 
-                        if(itemCfg.subType == ConstItemSubType.MATERIAL_SKILL_BOOK)
+                        if(itemCfg.SubType == ConstItemSubType.MATERIAL_SKILL_BOOK)
                             DecomposeDataManager.Instance.RemoveMaterial(itemID);
                     }
-                    if (itemCfg.itemType == ConstItemType.USEABLE)
+                    if (itemCfg.ItemType == ConstItemType.USEABLE)
                     {
                         BagDataManager.Instance.Remove(itemID);
                     }
-                    if (itemCfg.itemType == ConstItemType.HEAD)
+                    if (itemCfg.ItemType == ConstItemType.HEAD)
                     {
                         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);
                 }
@@ -146,19 +147,19 @@ namespace GFGGame
                 return value.itemType;
             }
             //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);
-            if (value != null && value.syntheticMateriarsArr != null && value.syntheticMateriarsArr.Length > 0)
+            if (value != null && value.syntheticMateriarsArr != null && value.syntheticMateriarsArr.Count > 0)
             {
                 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)
@@ -168,8 +169,8 @@ namespace GFGGame
             {
                 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)
@@ -179,8 +180,8 @@ namespace GFGGame
             {
                 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)
@@ -190,12 +191,12 @@ namespace GFGGame
             {
                 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 itemCfg.param2Arr[0];
+            return itemCfg.Param2[0];
         }
 
         public static void InitServerData(List<ItemInfoProto> items)
@@ -261,22 +262,22 @@ namespace GFGGame
         /// <returns></returns>
         public static int GetItemBaseScoreValue(int itemId, int scoreType)
         {
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+            ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
             if (scoreType == 1)
             {
-                return itemCfg.score1;
+                return itemCfg.Score1;
             }
             else if (scoreType == 2)
             {
-                return itemCfg.score2;
+                return itemCfg.Score2;
             }
             else if (scoreType == 3)
             {
-                return itemCfg.score3;
+                return itemCfg.Score3;
             }
             else if (scoreType == 4)
             {
-                return itemCfg.score4;
+                return itemCfg.Score4;
             }
             return 0;
         }
@@ -287,7 +288,7 @@ namespace GFGGame
         /// <param name="itemId"></param>
         /// <param name="scoreType"></param>
         /// <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))
             {
@@ -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))
             {
@@ -317,11 +318,11 @@ namespace GFGGame
             }
             else
             {
-                ItemCfg itemdate = ItemCfgArray.Instance.GetCfg(itemId);
+                ItemCfg itemdate = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
                 ItemData itemDate = new ItemData() { };
                 if (itemdate != null)
                 {
-                    itemDate.id = itemdate.id;
+                    itemDate.id = itemdate.Id;
                     int scroe = 0;
                     if (tags != null)
                     {
@@ -345,12 +346,12 @@ namespace GFGGame
             if (_dataDic.TryGetValue(itemId, out var itemData))
             {
                 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;
@@ -364,22 +365,22 @@ namespace GFGGame
         /// <param name="itemId"></param>
         /// <param name="tags"></param>
         /// <returns></returns>
-        public static int GetItemTagScore(int itemId, string[] tags)
+        public static int GetItemTagScore(int itemId, List<string> tags)
         {
             int score = 0;
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+            ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
             if (itemCfg == null)
             {
                 ET.Log.Error("物品:" + itemId + "不存在");
                 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>
         /// <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)
             {
                 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;
@@ -427,15 +428,19 @@ namespace GFGGame
         /// <returns></returns>
         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)
                             itemPartData.SetAttribute(keyInt, valueInt);

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

@@ -1,42 +1,71 @@
 using System;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using ET;
+
 namespace GFGGame
 {
     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 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 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 TeaPartyStatus = 0; // 0未开启 1集结中 2已集结
         public RoleTeapartyInfoProto RoleTeapartyInfo = new RoleTeapartyInfoProto(); // 玩家本期茶话会参与信息
         public List<RoleContainerProto> RoleContainerList = new List<RoleContainerProto>(); // 茶会每个扮演角色坑位信息
         public long TeaPartyCloseTime = 0; // 茶话会结束时间
         public int ChooseTeaPartId = 0; // 选择的茶话会类型
-        
+
         public void Clear()
         {
             Type = LeagueJoinType.UnJoin;
@@ -47,9 +76,10 @@ namespace GFGGame
             ListAnsweringDatas.Clear();
             LeagueNumber.Clear();
         }
+
         public void SetNumeric(int type, long value)
         {
-            if(LeagueNumber.ContainsKey(type))
+            if (LeagueNumber.ContainsKey(type))
                 LeagueNumber[type] = value;
             else
                 LeagueNumber.Add(type, value);
@@ -61,6 +91,7 @@ namespace GFGGame
             {
                 return value;
             }
+
             return 0;
         }
 
@@ -83,18 +114,23 @@ namespace GFGGame
                     title = "成员";
                     break;
             }
+
             return title;
         }
+
         public int GetMyPos()
         {
             if (LeagueDataManager.Instance.LeagueData == null)
             {
                 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 LeaguePos.Member;
         }
 
@@ -104,6 +140,7 @@ namespace GFGGame
             {
                 return "";
             }
+
             return LeagueDataManager.Instance.LeagueData.Name;
         }
 
@@ -131,14 +168,17 @@ namespace GFGGame
                     curCount = RoleDataManager.LeagueType3PrayTimes;
                     break;
             }
+
             return curCount;
         }
+
         public OtherRoleInfoData GetMemberRoleInfo(long roleId)
         {
             LeagueData.LeagueMemberDatas.TryGetValue(roleId, out LeagueMemberData value);
             if (value == null) return null;
             return value.RoleInfo;
         }
+
         //输入属性类型,获取联盟技能该属性加成总值
         public int GetAllSkillScore(int scoreType)
         {
@@ -147,8 +187,10 @@ namespace GFGGame
             {
                 score += SkillDataManager.Instance.LeagueSkillScoreDatas[key][scoreType];
             }
+
             return score;
         }
+
         //输入联盟技能类型和属性类型,获取指定技能类型该属性加成值
         public int GetSkillScoreByType(int skillType, int scoreType)
         {
@@ -157,45 +199,51 @@ namespace GFGGame
             if (!SkillDataManager.Instance.LeagueSkillScoreDatas[skillType].ContainsKey(scoreType)) return score;
             return SkillDataManager.Instance.LeagueSkillScoreDatas[skillType][scoreType];
         }
+
         //检测一个技能是否激活
         public bool CheckIsSkillActive(int skillType, int skillId)
         {
             if (!SkillDataManager.Instance.LeagueSkillDatas.ContainsKey(skillType)) return false;
             return SkillDataManager.Instance.LeagueSkillDatas[skillType].IndexOf(skillId) >= 0;
         }
+
         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)
         {
-            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()
         {
             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 isGet = false;
-                switch (welfareCfg.type)
+                switch (welfareCfg.Type)
                 {
                     case LeagueWelfareType.Day: //普通日福利
                         isBuy = GetNumeriValue(LeagueNumericType.LeagueWelfareDay) > 0;
@@ -214,16 +262,18 @@ namespace GFGGame
                         isGet = GameGlobal.myNumericComponent.GetAsInt(NumericType.LeagueWelfareSuperDay) == 1;
                         break;
                 }
+
                 // ET.Log.Debug("isBuy:" + isBuy);
                 if (isBuy)
                 {
                     LeagueGiftGetData giftGetData = new LeagueGiftGetData();
-                    giftGetData.Type = welfareCfg.type;
+                    giftGetData.Type = welfareCfg.Type;
                     giftGetData.IsGet = isGet;
                     giftGetData.GiftCfg = welfareCfg;
                     getDatas.Add(giftGetData);
                 }
             }
+
             return getDatas;
         }
 
@@ -231,12 +281,12 @@ namespace GFGGame
         {
             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;
                 long endTime = 0;
-                switch (welfareCfg.type)
+                switch (welfareCfg.Type)
                 {
                     case LeagueWelfareType.Day:
                         buyCount = (int)GetNumeriValue(LeagueNumericType.LeagueWelfareDay);
@@ -253,13 +303,15 @@ namespace GFGGame
                         buyCount = (int)GetNumeriValue(LeagueNumericType.LeagueWelfareSuperDay);
                         break;
                 }
+
                 LeagueGiftBuyData giftBuyData = new LeagueGiftBuyData();
-                giftBuyData.Type = welfareCfg.type;
+                giftBuyData.Type = welfareCfg.Type;
                 giftBuyData.BuyCount = buyCount;
                 giftBuyData.EndTime = endTime;
                 giftBuyData.GiftCfg = welfareCfg;
                 giftBuyDatas.Add(giftBuyData);
             }
+
             return giftBuyDatas;
         }
 
@@ -269,23 +321,25 @@ namespace GFGGame
         {
             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++)
             {
                 int itemId = roleData.itemList[i];
-                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+                ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
                 if (itemCfg == null)
                 {
                     ET.Log.Error("物品:" + itemId + "不存在");
                     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;
                         }
@@ -300,25 +354,29 @@ namespace GFGGame
 
         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)
         {
-            var teapartyRewardRoleCfg = TeapartyRewardRoleCfgArray.Instance.dataArray;
+            var teapartyRewardRoleCfg = CommonDataManager.Tables.TblTeapartyRewardRoleCfg.DataList;
+
             if (teapartyRewardRoleCfg == null)
                 return 0;
             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;
-            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 0;
         }
 
@@ -332,19 +390,24 @@ namespace GFGGame
         //茶话会雅集奖励是否可以领取
         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)
                 return 0;
             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;
             for (int i = 0; i < teapartyRewardLeagueCfgs.Count; i++)
             {
-                if (teapartyRewardLeagueCfgs[i].targetScore == targetScore)
+                if (teapartyRewardLeagueCfgs[i].TargetScore == targetScore)
                 {
                     return roleTeapartyInfo.LeagueAwardStatusVs[i];
                 }
             }
+
             return 0;
         }
 
@@ -356,24 +419,30 @@ namespace GFGGame
                 return false;
 
             //该活动暂未开启
-            if (LeagueDataManager.Instance.TeaPartyStatus == LeagueTeaPartyStatus.YesGo && roleTeapartyInfo.IsNoActDayEnterLeague)
+            if (LeagueDataManager.Instance.TeaPartyStatus == LeagueTeaPartyStatus.YesGo &&
+                roleTeapartyInfo.IsNoActDayEnterLeague)
                 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;
 
-            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)
             {
-                if (CheckTeaPartyPersonRewardCanGet(cfg.targetScore))
+                if (CheckTeaPartyPersonRewardCanGet(cfg.TargetScore))
                     return true;
             }
+
             foreach (var cfg in teapartyRewardLeagueCfgs)
             {
-                if (CheckTeaPartyLeagueRewardCanGet(cfg.targetScore))
-                return true;
+                if (CheckTeaPartyLeagueRewardCanGet(cfg.TargetScore))
+                    return true;
             }
 
             return false;
@@ -382,10 +451,15 @@ namespace GFGGame
         //主界面雅集提示语判断
         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 "雅集夜宴进行中...";
 
-            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 "";

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

@@ -1,6 +1,7 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using cfg.GfgCfg;
 using ET;
 
 namespace GFGGame
@@ -45,11 +46,13 @@ namespace GFGGame
             {
                 if (activityInfo.EndTime >= TimeInfo.Instance.ServerNow())
                 {
-                    ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
+                    ActivityOpenCfg activityOpenCfg =
+                        CommonDataManager.Tables.TblActivityOpenCfg.GetOrDefault(activityInfo.ActivityId);
+
                     //判断是否是类型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);
                         }
@@ -68,11 +71,12 @@ namespace GFGGame
             {
                 if (activityInfo.EndTime >= TimeInfo.Instance.ServerNow())
                 {
-                    ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
+                    ActivityOpenCfg activityOpenCfg =
+                        CommonDataManager.Tables.TblActivityOpenCfg.GetOrDefault(activityInfo.ActivityId);
                     //判断是否是类型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())
                 {
-                    ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
+                    ActivityOpenCfg activityOpenCfg =
+                        CommonDataManager.Tables.TblActivityOpenCfg.GetOrDefault(activityInfo.ActivityId);
                     //判断是否是类型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)
         {
-            ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(shopCfgId);
+            ShopCfg shopCfg = CommonDataManager.Tables.TblShopCfg.GetOrDefault(shopCfgId);
 
             if (shopCfg == null)
             {
@@ -116,14 +121,14 @@ namespace GFGGame
                 listData.Add(new LimitedTimeGiftBoxItemYxData
                 {
                     EndTime = endTime,
-                    ShopCfgId = shopCfg.id,
-                    IndexType = shopCfg.menu2
+                    ShopCfgId = shopCfg.Id,
+                    IndexType = shopCfg.Menu2
                 });
             }
             else
             {
                 var index = listData.IndexOf(ltgGbItemData);
-                ltgGbItemData.IndexType = shopCfg.menu2;
+                ltgGbItemData.IndexType = shopCfg.Menu2;
                 ltgGbItemData.EndTime = endTime;
                 listData[index] = ltgGbItemData;
             }
@@ -133,21 +138,23 @@ namespace GFGGame
         public bool SpecialOfferGiftBoxCanBuy()
         {
             var activityInfoByTypeList =
-             ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB1);
+                ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB1);
             var list = activityInfoByTypeList
                 .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
-            if(list.Count == 0)
+            if (list.Count == 0)
                 return false;
 
             bool isSoldOut = true;
             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)
                 {
-                    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)
                     {
@@ -165,44 +172,50 @@ namespace GFGGame
         {
             int activityId = 0;
             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;
                     break;
                 }
             }
-            ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityId);
+
+            ActivityOpenCfg activityOpenCfg = CommonDataManager.Tables.TblActivityOpenCfg.GetOrDefault(activityId);
+
             List<int> shopCfgIds = new List<int>();
             bool same = false;
             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])
                     {
-                        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)
                             sellShowId = paramsArr[i];
                         break;
                     }
                 }
+
                 if (sellShowId > 0)
                     break;
             }
+
             if (sellShowId <= 0)
-                sellShowId = params2Arr[params2Arr.Length - 1];
+                sellShowId = params2Arr[params2Arr.Count - 1];
 
             shopCfgIds.Add(sellShowId);
-            for (int i = 0; i < paramsArr.Length; i++)
+            for (int i = 0; i < paramsArr.Count; i++)
             {
                 same = false;
-                for (int j = 0; j < params2Arr.Length; j++)
+                for (int j = 0; j < params2Arr.Count; j++)
                 {
                     if (params2Arr[j] == paramsArr[i])
                     {
@@ -210,11 +223,12 @@ namespace GFGGame
                         break;
                     }
                 }
+
                 if (!same)
                     shopCfgIds.Add(paramsArr[i]);
             }
+
             return shopCfgIds;
         }
-
     }
 }

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

@@ -7,14 +7,14 @@ using UnityEngine.Video;
 using YooAsset;
 using GFGGame.Launcher;
 using System.Collections;
+using cfg.GfgCfg;
 
 namespace GFGGame
 {
     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 TEN_TIME = 10;
@@ -26,12 +26,12 @@ namespace GFGGame
 
         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>>();
 
-        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 endTime = 1672156799000;
         public List<int> KsActivityId = new List<int>(); //活动ids--只存放开启中的许愿池活动id 
@@ -51,6 +51,7 @@ namespace GFGGame
         public RawFileOperationHandle videoHandle = null;
 
         public List<ItemInfoProto> BlindBoxReward = new List<ItemInfoProto>();
+
         public List<ItemData> RewardList
         {
             get { return _rewardsList; }
@@ -65,10 +66,12 @@ namespace GFGGame
                     {
                         _firstRewardsList.Add(dicIndex, itemData);
                     }
+
                     dicIndex++;
                 }
             }
         }
+
         public Dictionary<int, ItemData> FirstRewardList
         {
             get { return _firstRewardsList; }
@@ -76,12 +79,10 @@ namespace GFGGame
         }
 
         private int _currentBoxId = 2;
+
         public int currentBoxId
         {
-            get
-            {
-                return _currentBoxId;
-            }
+            get { return _currentBoxId; }
             set
             {
                 if (_currentBoxId != value)
@@ -100,6 +101,7 @@ namespace GFGGame
             {
                 luckyBoxFreeTimeMillDic[response.KsLuckyBoxId[i]] = response.VsFreeTime[i];
             }
+
             luckyBoxPlayTimesDic.Clear();
             count = response.KsPlayedId.Count;
             for (var i = 0; i < count; i++)
@@ -136,11 +138,11 @@ namespace GFGGame
 
         public void InitData(int boxId)
         {
-            LuckyBoxCfg luckyBoxCfg = LuckyBoxCfgArray.Instance.GetCfg(boxId);
+            LuckyBoxCfg luckyBoxCfg = CommonDataManager.Tables.TblLuckyBoxCfg.GetOrDefault(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.Sort(CompareBonusData);
             return list;
         }
 
         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)
             {
                 return;
             }
+
             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
                 {
-                    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;
                         }
-                        group = itemCfg.suitId;
+
+                        group = itemCfg.SuitId;
                     }
+
                     LuckyBoxBonusData luckyBoxBonusData = GetBonusData(group, dic);
                     if (luckyBoxBonusData == null)
                     {
                         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;
             }
+
             luckyBoxBonusData = new LuckyBoxBonusData();
             luckyBoxBonusData.id = group;
-            BonusListCfg bonusListCfg = BonusListCfgArray.Instance.GetCfg(group);
+            BonusListCfg bonusListCfg = CommonDataManager.Tables.TblBonusListCfg.GetOrDefault(group);
             if (bonusListCfg != null)
             {
-                luckyBoxBonusData.name = bonusListCfg.name;
-                luckyBoxBonusData.order = bonusListCfg.sort;
+                luckyBoxBonusData.name = bonusListCfg.Name;
+                luckyBoxBonusData.order = bonusListCfg.Sort;
             }
             else
             {
-                SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(group);
+                SuitCfg suitCfg = CommonDataManager.Tables.TblSuitCfg.GetOrDefault(group);
+
                 if (suitCfg == null)
                 {
                     return null;
                 }
-                luckyBoxBonusData.name = suitCfg.name;
+
+                luckyBoxBonusData.name = suitCfg.Name;
                 luckyBoxBonusData.order = 9999;
             }
+
             dic.Add(group, luckyBoxBonusData);
             return luckyBoxBonusData;
         }
@@ -227,10 +239,12 @@ namespace GFGGame
             {
                 return 1;
             }
+
             if (b.order > a.order)
             {
                 return -1;
             }
+
             return a.id - b.id;
         }
 
@@ -246,6 +260,7 @@ namespace GFGGame
                     {
                         count++;
                     }
+
                     totalCount++;
                 }
             }
@@ -269,18 +284,22 @@ namespace GFGGame
 
         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);
-            long hasNum = ItemDataManager.GetItemNum(itemCfg.id);
+            long hasNum = ItemDataManager.GetItemNum(itemCfg.Id);
             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();
             }
             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
                     onSuccess();
             }
@@ -288,28 +307,31 @@ namespace GFGGame
             {
                 long needNum = costNum - hasNum;
                 // 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 costItemNeedNum = 0;
                 int costbuyNum = 0;
                 int buyNum = 0;
                 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;
                     costbuyNum += _buyNum;
-                    buyNum += itemExchangeCfg.num;
+                    buyNum += itemExchangeCfg.Num;
                     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)
                     {
                         ItemUtil.ExchangeItemById(costId, needNum, false, onSuccess);
                     }
-                    else {
+                    else
+                    {
                         if (LuckyBoxDataManager.Instance.CHECK_TIPS_OPEN == false)
                             BuyTipsController.Show(costId, needNum, onSuccess, true);
                         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)
         {
-            LuckyBoxCfg cfg = LuckyBoxCfgArray.Instance.GetCfg(boxId);
+            LuckyBoxCfg cfg = CommonDataManager.Tables.TblLuckyBoxCfg.GetOrDefault(boxId);
+
             if (times == LuckyBoxDataManager.ONCE_TIME)
             {
-                return cfg.costNum;
+                return cfg.CostNum;
             }
             else if (times == LuckyBoxDataManager.TEN_TIME)
             {
-                return cfg.costNumTen;
+                return cfg.CostNumTen;
             }
             else if (times == LuckyBoxDataManager.FIFTY_TIME)
             {
-                return cfg.costNumfifty;
+                return cfg.CostNumfifty;
             }
+
             return 0;
         }
 
@@ -360,7 +385,8 @@ namespace GFGGame
                 if (freeTime > 0 && freeTime - TimeHelper.ServerNow() < 0)
                     return true;
 
-                if (index == 1 && RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitTsy))
+                if (index == 1 &&
+                    RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitTsy))
                     return true;
             }
 
@@ -370,13 +396,15 @@ namespace GFGGame
         public bool RedBtnRight(int curIndex)
         {
             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];
                 long freeTime = LuckyBoxDataManager.Instance.GetFreeTime(boxId);
                 if (freeTime > 0 && freeTime - TimeHelper.ServerNow() < 0)
                     return true;
 
-                if (curIndex == 1 && RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitTsy))
+                if (curIndex == 1 &&
+                    RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitTsy))
                     return true;
             }
 
@@ -386,11 +414,13 @@ namespace GFGGame
         //天市垣开服活动是否开启
         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;
             if (activityCfg != null)
-                endTime = TimeUtil.DateTimeToTimestamp(activityCfg.endTime);
+                endTime = TimeUtil.DateTimeToTimestamp(activityCfg.EndTime);
             long curTime = TimeHelper.ServerNow();
             if (endTime < curTime)
                 return false;

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

@@ -1,6 +1,7 @@
 using System.Collections;
 using System.Collections.Generic;
 using System;
+using cfg.GfgCfg;
 using UnityEngine;
 using ET;
 using ProtoBuf.Meta;
@@ -9,38 +10,40 @@ namespace GFGGame
 {
     public class MainStoryDataManager
     {
-        public static string priorId = "prior";//首次登录前置剧情id
+        public static string priorId = "prior"; //首次登录前置剧情id
 
         //剧情副本专用当前章节
         public static int currentChapterCfgId = 0;
+
         //剧情副本专用当前关卡序号,从1开始
         public static int CurrentChapterOrder
         {
             get
             {
-                var chapterCfg = StoryChapterCfgArray.Instance.GetCfg(currentChapterCfgId);
+                var chapterCfg = CommonDataManager.Tables.TblStoryChapterCfg.GetOrDefault(currentChapterCfgId);
+
                 if (chapterCfg != null)
                 {
-                    return chapterCfg.order;
+                    return chapterCfg.Order;
                 }
+
                 return 0;
             }
         }
+
         //剧情副本专用关卡编号
         private static int _currentLevelCfgId;
+
         public static int currentLevelCfgId
         {
-            get
-            {
-                return _currentLevelCfgId;
-            }
+            get { return _currentLevelCfgId; }
             set
             {
                 int lastLevelCfgId = _currentLevelCfgId;
-                var lastLevelCfg = StoryLevelCfgArray.Instance.GetCfg(_currentLevelCfgId);
+                var lastLevelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(_currentLevelCfgId);
                 _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 };
                 _chapterBonusDic.Add(chapter, states);
             }
+
             CalculateHelper.GenerateChapterBoxStates(states, stateInt);
         }
 
@@ -80,6 +84,7 @@ namespace GFGGame
                     return states[index];
                 }
             }
+
             return ConstBonusStatus.CAN_NOT_GET;
         }
 
@@ -97,73 +102,88 @@ namespace GFGGame
         //检查指定章节对应的普通章节是否通关
         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)
                 {
-                    return InstanceZonesDataManager.CheckChapterPass(preChapterCfg.type, preChapterCfg.subType, preChapterCfg.id, preChapterCfg.levelCount);
+                    return InstanceZonesDataManager.CheckChapterPass(preChapterCfg.Type, preChapterCfg.SubType,
+                        preChapterCfg.Id, preChapterCfg.LevelCount);
                 }
             }
+
             return true;
         }
+
         public static int CheckChapterPassIndex(int subtype)
         {
             int count = 2;
-            List<StoryChapterCfg> chapList = StoryChapterCfgArray.Instance.GetCfgsBysubType(subtype);
+            List<StoryChapterCfg> chapList = CommonDataManager.Tables.TblStoryChapterCfg.GetGroup1BySubType(subtype);
             foreach (StoryChapterCfg item in chapList)
             {
-                var preChapterCfg = StoryChapterCfgArray.Instance.GetCfg(item.id);
+                var preChapterCfg = CommonDataManager.Tables.TblStoryChapterCfg.GetOrDefault(item.Id);
                 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++;
                     }
                 }
             }
-            if(count> chapList.Count)
+
+            if (count > chapList.Count)
             {
                 count = chapList.Count;
             }
+
             return count;
         }
 
         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;
             }
+
             //上一关卡
             int preChapterId = chapterId - 1;
-            var preChapterCfg = StoryChapterCfgArray.Instance.GetCfg(preChapterId);
+            var preChapterCfg = CommonDataManager.Tables.TblStoryChapterCfg.GetOrDefault(preChapterId);
             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 CheckNeedChapterPass(chapterId, out var needChapterId);
         }
 
         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 (!CheckChapterUnlock(levelCfg.chapterId, checkRoleLv))
+                if (!CheckChapterUnlock(levelCfg.ChapterId, checkRoleLv))
                 {
                     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;
         }
 
@@ -181,11 +201,13 @@ namespace GFGGame
         //获取章节难度(普通或者精英)
         public static int GetChapterSubType(int chapterId)
         {
-            var chapterCfg = StoryChapterCfgArray.Instance.GetCfg(chapterId);
+            var chapterCfg = CommonDataManager.Tables.TblStoryChapterCfg.GetOrDefault(chapterId);
+
             if (chapterCfg != null)
             {
-                return chapterCfg.subType;
+                return chapterCfg.SubType;
             }
+
             return ConstInstanceZonesSubType.Normal;
         }
 
@@ -194,20 +216,24 @@ namespace GFGGame
 
         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;
                 }
-                if(item.Value == 1)
+
+                if (item.Value == 1)
                 {
                     return true;
                 }
             }
+
             return false;
         }
+
         //关卡当前难度类型
         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.Collections;
 using System.Collections.Generic;
@@ -9,6 +8,7 @@ using Live2D.Cubism.Rendering;
 using FairyGUI;
 using UI.MatchingCompetition;
 using System.IO;
+using cfg.GfgCfg;
 
 namespace GFGGame
 {
@@ -18,29 +18,39 @@ namespace GFGGame
         //public int type = 2;
         //位置信息数据索引
         public int indexRoleData = 0;
+
         //人物位置信息
         public TransformData roleTransFormData = new TransformData();
         public GameObject roleGameobj;
+
         public string roleID = "Role";
+
         //*********************搭配数据*********************************
         //需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
         public DressUpData MathingDressDate = DressUpData.CreateDefault();
+
         public int DressUpBgID = 0;
+
         //*****这两个id放列表的最后面
         //边框id
         public int BorderID = 0;
+
         //NpcId
         public int NpcID = 0;
+
         //*************=**************
         //道具数据,一一对应
         //场景名字,自己搭配的数据
         public List<string> DressPropNameList = new List<string>();
+
         //道具id
         //public List<int> DressPropIdList = new List<int>();
         //道具索引
         public int DressPropIndex = 0;
+
         //道具索引字典
         public Dictionary<string, TransformData> DressPropTransInfoDic = new Dictionary<string, TransformData>();
+
         //道具位置信息
         public List<TransformData> TransformDataList = new List<TransformData>();
         public List<GameObject> itemGameObjs = new List<GameObject>();
@@ -58,25 +68,34 @@ namespace GFGGame
         public int MatchingRemainingTimes = 1;
         public MyWorksIdInfo myWorks = new MyWorksIdInfo();
         public List<ItemInfoProto> SpecialBonusList = new List<ItemInfoProto>();
+
         /// <summary>
         /// 搭配赛相册
         /// </summary>
         /// <typeparam name="PoemPhotoData"></typeparam>
         /// <returns></returns>
         public List<PoemPhotoData> MatchingPhotoInfos = new List<PoemPhotoData>();
+
         //角色详情界面图片信息
         public NTexture DetailNtexture;
+
         //自己的搭配图片
         public NTexture MyNtextture;
+
         public byte[] MyBytes;
+
         //本期排行榜数据
         public List<CurRanMatchingPhotoWorksData> _currentRankList = new List<CurRanMatchingPhotoWorksData>();
+
         //本期排行榜数据--协程锁变量
         public bool IsWork = false;
+
         //本期排行榜数据--协程消息队列
         public Queue<int> _coroutineQueue = new Queue<int>();
+
         //往期作品集
         public List<MatchingWorksData> _BeforeWorksList = new List<MatchingWorksData>();
+
         //往期排行榜数据
         public List<MatchingPhotoWorksData> _BeforeRankList = new List<MatchingPhotoWorksData>();
 
@@ -123,25 +142,27 @@ namespace GFGGame
         {
             //将所有需要存储的信息转换成list
             AllDressIDInfoList.Clear();
-            foreach(var item in MathingDressDate.itemList)
+            foreach (var item in MathingDressDate.itemList)
             {
                 CollocationInfo itemInfo = new CollocationInfo();
                 itemInfo.ItemId = item.ToString();
                 itemInfo.ClientPosition = "";
                 AllDressIDInfoList.Add(itemInfo);
             }
+
             foreach (var item in DressPropTransInfoDic)
             {
                 CollocationInfo itemInfo = new CollocationInfo();
                 itemInfo.ItemId = item.Key;
                 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;
                 AllDressIDInfoList.Add(itemInfo);
             }
+
             //for(int i = 0;i< DressPropIdList.Count;i++)
             //{
             //    CollocationInfo itemInfo = new CollocationInfo();
@@ -163,6 +184,7 @@ namespace GFGGame
             itemActionInfo.ClientPosition = "";
             AllDressIDInfoList.Add(itemActionInfo);
         }
+
         //解析后台获取的信息
         public void AnalysisInfoToList()
         {
@@ -175,72 +197,83 @@ namespace GFGGame
             DressPropTransInfoDic.Clear();
             for (int i = 0; i < AllDressIDInfoList.Count; i++)
             {
-                if(AllDressIDInfoList[i].ItemId == roleID)
+                if (AllDressIDInfoList[i].ItemId == roleID)
                 {
                     //propIDList.Add(AllDressIDInfoList[i].ItemId);
                     //transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
                     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
                 {
-                    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));
                             //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))
                                 {
-                                    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
                         {
                             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));
                         //transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
                         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.itemList = dressitemIDList;
             //DressPropIdList = propIDList;
             //TransformDataList = transDataList;
         }
+
         public TransformData AnalysisStringToTransform(string strTrans)
         {
             TransformData transData = new TransformData();
             string[] parts = Regex.Split(strTrans, "_");
-            if(parts.Length > 6)
+            if (parts.Length > 6)
             {
                 transData.position.x = float.Parse(parts[0]);
                 transData.position.y = float.Parse(parts[1]);
@@ -250,15 +283,17 @@ namespace GFGGame
                 transData.scale.y = float.Parse(parts[5]);
                 transData.scale.z = float.Parse(parts[6]);
             }
+
             return transData;
         }
+
         //存储道具信息
         public void SetTransformData()
         {
             DressPropNameList.Clear();
             TransformDataList.Clear();
             DressPropTransInfoDic.Clear();
-            for (int i =0;i<itemGameObjs.Count;i++)
+            for (int i = 0; i < itemGameObjs.Count; i++)
             {
                 TransformData itemData = new TransformData();
                 if (itemGameObjs[i].name == "Role")
@@ -304,12 +339,11 @@ namespace GFGGame
                     itemData.scale = itemGameObjs[i].transform.localScale;
                     TransformDataList.Add(itemData);
                     DressPropNameList.Add(itemGameObjs[i].name);
-                    if(!DressPropTransInfoDic.ContainsKey(itemGameObjs[i].name))
+                    if (!DressPropTransInfoDic.ContainsKey(itemGameObjs[i].name))
                     {
                         DressPropTransInfoDic.Add(itemGameObjs[i].name, itemData);
-                    }  
+                    }
                 }
-                
             }
             //SetNameToIdList();
         }
@@ -335,7 +369,7 @@ namespace GFGGame
                 {
                     return -3;
                 }
-                else if(!isNumeric)
+                else if (!isNumeric)
                 {
                     return -4;
                 }
@@ -345,16 +379,19 @@ namespace GFGGame
 
             return id;
         }
+
         public List<int> GetIDListByString(string name)
         {
             List<int> idList = new List<int>();
             string[] parts = Regex.Split(name, "_");
-            foreach(string id in parts)
+            foreach (string id in parts)
             {
                 idList.Add(int.Parse(id));
             }
+
             return idList;
         }
+
         //将名字转换成道具id
         //public void SetNameToIdList()
         //{
@@ -440,7 +477,7 @@ namespace GFGGame
         public void InsertGameObjectList()
         {
             int i = 0;
-            foreach(var item in DressPropTransInfoDic)
+            foreach (var item in DressPropTransInfoDic)
             {
                 i++;
                 if (item.Key == roleID)
@@ -448,9 +485,11 @@ namespace GFGGame
                     indexRoleData = i;
                     break;
                 }
+
                 indexRoleData = i;
             }
-            if(itemGameObjs.Count ==0)
+
+            if (itemGameObjs.Count == 0)
             {
                 itemGameObjs.Add(roleGameobj);
             }
@@ -464,21 +503,23 @@ namespace GFGGame
                 {
                     itemGameObjs.Insert(indexRoleData, roleGameobj);
                 }
-            }  
+            }
         }
-        public void SetNumToRank(int index,UI_Component4 rankCom)
+
+        public void SetNumToRank(int index, UI_Component4 rankCom)
         {
             int c1 = 0;
             int c2 = 0;
-            if(index<=3&& index >=1)
+            if (index <= 3 && index >= 1)
             {
                 c2 = index;
             }
+
             if (index > 3 && index <= 9)
             {
                 c1 = 0;
             }
-            else if(index >9 && index <= 50)
+            else if (index > 9 && index <= 50)
             {
                 c1 = 1;
             }
@@ -486,13 +527,14 @@ namespace GFGGame
             {
                 c1 = 2;
             }
+
             rankCom.m_c1.selectedIndex = c1;
             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 two = index % 10;
@@ -507,13 +549,15 @@ namespace GFGGame
                 }
                 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
                         {
@@ -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;
-            if (!string.IsNullOrEmpty(itemCfg.resLayer3))
+            if (!string.IsNullOrEmpty(itemCfg.ResLayer3))
             {
                 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 (parentGameObj3.transform.childCount > 0)
@@ -542,46 +585,52 @@ namespace GFGGame
                     }
                 }
             }
-            if (!string.IsNullOrEmpty(itemCfg.resLayer2))
+
+            if (!string.IsNullOrEmpty(itemCfg.ResLayer2))
             {
                 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 (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;
                     }
-
                 }
             }
-            if (!string.IsNullOrEmpty(itemCfg.resLayer1))
+
+            if (!string.IsNullOrEmpty(itemCfg.ResLayer1))
             {
                 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);
 
                 if (setLayer)
                 {
                     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;
                     }
-
                 }
             }
         }
-        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;
-            if(DressPropIndex <= index)
+            if (DressPropIndex <= index)
             {
                 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);
             if (setLayer)
             {
@@ -603,29 +652,40 @@ namespace GFGGame
     {
         //其他玩家信息用于展示
         public MatchingPhotoWorksData OneRoleInfo = new MatchingPhotoWorksData();
+
         //人物位置信息
         public TransformData roleTransFormData = new TransformData();
         public GameObject roleGameobj;
+
         public string roleID = "Role";
+
         //*********************搭配数据*********************************
         //需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
         public DressUpData MathingDressDate = DressUpData.CreateDefault();
+
         public int DressUpBgID = 0;
+
         //*****这两个id放列表的最后面
         //边框id
         public int BorderID = 0;
+
         //NpcId
         public int NpcID = 0;
+
         //道具数据,一一对应
         //道具id
         //public List<int> DressPropIdList = new List<int>();
         //道具位置信息
         public List<TransformData> TransformDataList = new List<TransformData>();
+
         //道具索引
         public int DressPropIndex = 0;
+
         //道具索引字典
         public Dictionary<string, TransformData> DressPropTransInfoDic = new Dictionary<string, TransformData>();
+
         public List<GameObject> itemGameObjs = new List<GameObject>();
+
         //***************************************************************
         //解析后台获取的信息
         public void AnalysisInfoToList()
@@ -641,53 +701,67 @@ namespace GFGGame
                 {
                     //propIDList.Add(colloctItemInfo.ItemId);
                     //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
                 {
-                    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);
                             //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                             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
                         {
-                            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);
                         //transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(colloctItemInfo.ClientPosition));
                         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.actionId = OneRoleInfo.JudgingInfo.ActionId;
             //DressPropIdList = propIDList;
             //TransformDataList = transDataList;
             DressUpBgID = OneRoleInfo.JudgingInfo.BagId;
         }
+
         public void InsertGameObjectList()
         {
             int indexRoleData = 0;
@@ -700,6 +774,7 @@ namespace GFGGame
                     indexRoleData = i;
                 }
             }
+
             if (itemGameObjs.Count == 0)
             {
                 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.Generic;
 using System.Text.RegularExpressions;
+using cfg.GfgCfg;
 using UnityEngine;
 using Live2D.Cubism.Rendering;
 using FairyGUI;
@@ -14,19 +15,26 @@ namespace GFGGame
     {
         //其他玩家信息用于展示
         public MatchingPhotoWorksData LeftRoleInfo = new MatchingPhotoWorksData();
+
         //人物位置信息
         public TransformData roleTransFormData = new TransformData();
         public GameObject roleGameobj;
+
         public string roleID = "Role";
+
         //*********************搭配数据*********************************
         //需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
         public DressUpData MathingDressDate = DressUpData.CreateDefault();
+
         public int DressUpBgID = 0;
+
         //*****这两个id放列表的最后面
         //边框id
         public int BorderID = 0;
+
         //NpcId
         public int NpcID = 0;
+
         //道具数据,一一对应
         //道具id
         //public List<int> DressPropIdList = new List<int>();
@@ -34,9 +42,12 @@ namespace GFGGame
         //public List<TransformData> TransformDataList = new List<TransformData>();
         //道具索引
         public int DressPropIndex = 0;
+
         //道具索引字典
         public Dictionary<string, TransformData> DressPropTransInfoDic = new Dictionary<string, TransformData>();
+
         public List<GameObject> itemGameObjs = new List<GameObject>();
+
         //***************************************************************
         //解析后台获取的信息
         public void AnalysisInfoToList()
@@ -52,44 +63,56 @@ namespace GFGGame
                 {
                     //propIDList.Add(colloctItemInfo.ItemId);
                     //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
                 {
-                    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);
                             //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
                         {
-                            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);
                         //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.actionId = LeftRoleInfo.JudgingInfo.ActionId;
             //DressPropIdList = propIDList;
             //TransformDataList = transDataList;
             DressUpBgID = LeftRoleInfo.JudgingInfo.BagId;
         }
+
         public void InsertGameObjectList()
         {
             int indexRoleData = 0;
@@ -102,20 +125,21 @@ namespace GFGGame
                     indexRoleData = i;
                 }
             }
+
             if (itemGameObjs.Count == 0)
             {
                 itemGameObjs.Add(roleGameobj);
             }
             else
             {
-                if(indexRoleData > itemGameObjs.Count)
+                if (indexRoleData > itemGameObjs.Count)
                 {
                     itemGameObjs.Add(roleGameobj);
                 }
                 else
                 {
                     itemGameObjs.Insert(indexRoleData, roleGameobj);
-                } 
+                }
             }
         }
     }
@@ -124,29 +148,39 @@ namespace GFGGame
     {
         //其他玩家信息用于展示
         public MatchingPhotoWorksData RightRoleInfo = new MatchingPhotoWorksData();
+
         //人物位置信息
         public TransformData roleTransFormData = new TransformData();
         public GameObject roleGameobj;
+
         public string roleID = "Role";
+
         //*********************搭配数据*********************************
         //需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
         public DressUpData MathingDressDate = DressUpData.CreateDefault();
+
         public int DressUpBgID = 0;
+
         //*****这两个id放列表的最后面
         //边框id
         public int BorderID = 0;
+
         //NpcId
         public int NpcID = 0;
+
         //道具数据,一一对应
         //道具id
         //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 Dictionary<string, TransformData> DressPropTransInfoDic = new Dictionary<string, TransformData>();
+
         public List<GameObject> itemGameObjs = new List<GameObject>();
+
         //***************************************************************
         //解析后台获取的信息
         public void AnalysisInfoToList()
@@ -162,44 +196,57 @@ namespace GFGGame
                 {
                     //propIDList.Add(colloctItemInfo.ItemId);
                     //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
                 {
-                    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);
                             //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
                         {
-                            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);
                         //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.actionId = RightRoleInfo.JudgingInfo.ActionId;
             //DressPropIdList = propIDList;
             //TransformDataList = transDataList;
             DressUpBgID = RightRoleInfo.JudgingInfo.BagId;
         }
+
         public void InsertGameObjectList()
         {
             int indexRoleData = 0;
@@ -212,6 +259,7 @@ namespace GFGGame
                     indexRoleData = i;
                 }
             }
+
             if (itemGameObjs.Count == 0)
             {
                 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 System.Collections.Generic;
 using System.Linq;
+using cfg.GfgCfg;
 
 namespace GFGGame
 {
@@ -80,22 +81,22 @@ namespace GFGGame
 
         public List<AdCfg> UpdateShowActivity()
         {
-            AdCfg[] activitydata = AdCfgArray.Instance.dataArray;
+            List<AdCfg> activitydata = CommonDataManager.Tables.TblAdCfg.DataList;
             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];
-                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 (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)
                         {
 
@@ -106,10 +107,10 @@ namespace GFGGame
                             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)
                         {
                             continue;

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

@@ -1,6 +1,7 @@
 using System;
 using System.Collections.Generic;
 using System.Threading.Tasks;
+using cfg.GfgCfg;
 using UnityEngine;
 using YooAsset;
 
@@ -13,7 +14,7 @@ namespace GFGGame
         public async void AddBgItem(ItemCfg itemCfg)
         {
             Transform tf = sceneObject.transform.Find("Bg/BgRes");
-            string resPath = ResPathUtil.GetSceneBgPath(itemCfg.res);
+            string resPath = ResPathUtil.GetSceneBgPath(itemCfg.Res);
             await LoadManager.Instance.CheckResExsitedOrDownload(resPath);
             SetSpriteRendererToTransform(tf, resPath);
             SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
@@ -32,9 +33,9 @@ namespace GFGGame
 
             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
@@ -51,7 +52,7 @@ namespace GFGGame
         public void AddNpcItem(ItemCfg itemCfg)
         {
             Transform tf = sceneObject.transform.Find("Scene/Npc/NpcRes");
-            string resPath = ResPathUtil.GetNpcPicFPath(itemCfg.res);
+            string resPath = ResPathUtil.GetNpcPicFPath(itemCfg.Res);
             SetSpriteRendererToTransform(tf, resPath);
             SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
             tf.localPosition = new Vector2(-spr.bounds.center.x, -spr.bounds.center.y);
@@ -96,7 +97,7 @@ namespace GFGGame
                 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 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)
         {
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+            ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
             parentGameObj.transform.SetParent(sceneObj.transform.Find("Scene"), false);
 
 
 
             string layerName = string.Format("resLayer{0}", resLayer);
             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);
             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 const int pageCount = 10;
         private long _themeOrder = 0;
+
         /// <summary>
         /// 主题期数
         /// </summary>
         public long ThemeOrder
         {
-            get
-            {
-                return _themeOrder;
-            }
-            set
-            {
-                _themeOrder = value;
-            }
+            get { return _themeOrder; }
+            set { _themeOrder = value; }
         }
 
         private long _themeId = 1;
+
         /// <summary>
         /// 主题配置id
         /// </summary>
         public long ThemeId
         {
-            get
-            {
-                return _themeId;
-            }
-            set
-            {
-                _themeId = value;
-            }
+            get { return _themeId; }
+            set { _themeId = value; }
         }
 
         private long _myRank = 0;
+
         /// <summary>
         /// 我的最高排行,排行榜界面展示用
         /// </summary>
         public long MyRank
         {
-            get
-            {
-                return _myRank;
-            }
-            set
-            {
-                _myRank = value;
-            }
+            get { return _myRank; }
+            set { _myRank = value; }
         }
 
 
         private long _myWorksCountOfTheme = 0;
+
         /// <summary>
         /// 本期主题我的作品数
         /// </summary>
         public long MyWorksCountOfTheme
         {
-            get
-            {
-                return _myWorksCountOfTheme;
-            }
-            set
-            {
-                _myWorksCountOfTheme = value;
-            }
+            get { return _myWorksCountOfTheme; }
+            set { _myWorksCountOfTheme = value; }
         }
 
         private bool _hasBonus = false;
+
         /// <summary>
         /// 本期主题我的作品数
         /// </summary>
         public bool HasBonus
         {
-            get
-            {
-                return _hasBonus;
-            }
-            set
-            {
-                _hasBonus = value;
-            }
+            get { return _hasBonus; }
+            set { _hasBonus = value; }
         }
 
         private List<int> _myWorksRanks = new List<int>() { 1, 5 };
+
         /// <summary>
         /// 本期主题我的作品数
         /// </summary>
         public List<int> MyWorksRanks
         {
-            get
-            {
-                return _myWorksRanks;
-            }
-            set
-            {
-                _myWorksRanks = value;
-            }
+            get { return _myWorksRanks; }
+            set { _myWorksRanks = value; }
         }
 
 
@@ -113,6 +83,7 @@ namespace GFGGame
         /// 推荐数据
         /// </summary>
         public List<long> RecommendDatas = new List<long>();
+
         /// <summary>
         /// 最新数据
         /// </summary>
@@ -170,6 +141,7 @@ namespace GFGGame
                 _dicGalleryData.Add(data.WorkId, data);
             }
         }
+
         public void RemoveGalleryData(long workId)
         {
             if (_dicGalleryData.ContainsKey(workId))
@@ -187,13 +159,15 @@ namespace GFGGame
             {
                 return _dicGalleryData[workId];
             }
+
             return null;
         }
+
         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++)
                     {
@@ -205,10 +179,12 @@ namespace GFGGame
                             _dicGalleryData.Remove(id);
                         }
                     }
+
                     GalleryIDList.RemoveRange(0, 10);
                 }
             }
         }
+
         public void RemoveGalleryData()
         {
             if (_dicGalleryData.Count > 20)
@@ -222,9 +198,10 @@ namespace GFGGame
                         _dicGalleryData[id].Ntexture = null;
                         _dicGalleryData.Remove(id);
                     }
-                }           
-             }
+                }
+            }
         }
+
         public void UpdateRoleInfo(long workId, string name, int rank = 0)
         {
             if (_dicGalleryData.ContainsKey(workId))
@@ -236,6 +213,7 @@ namespace GFGGame
                 }
             }
         }
+
         public void UpdateFavoriteState(long workId, bool state, long count)
         {
             if (_dicGalleryData.ContainsKey(workId))
@@ -244,6 +222,7 @@ namespace GFGGame
                 _dicGalleryData[workId].CollectCount = count;
             }
         }
+
         public void UpdateVoteiteState(long workId, bool state, long count)
         {
             if (_dicGalleryData.ContainsKey(workId))
@@ -256,37 +235,45 @@ namespace GFGGame
         public string GetThemeTime()
         {
             // 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 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);
                 }
                 else
                 {
-                    endTime = TimeUtil.GetCurWeekTime(GlobalCfgArray.globalCfg.galleryClearingWeekTime - 1);
+                    endTime = TimeUtil.GetCurWeekTime(CommonDataManager.Tables.TblGlobalCfg.GalleryClearingWeekTime -
+                                                      1);
                 }
             }
             else
             {
                 startTime = monday;
-                if (GlobalCfgArray.globalCfg.galleryClearingWeekTime == 1)
+                if (CommonDataManager.Tables.TblGlobalCfg.GalleryClearingWeekTime == 1)
                 {
                     endTime = TimeUtil.GetCurWeekTime(7);
                 }
                 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 strEndTime = TimeUtil.FormattingTimeTo_MMdd(endTime); ;
+            string strEndTime = TimeUtil.FormattingTimeTo_MMdd(endTime);
+            ;
             return string.Format("{0}至{1}", strStartTime, strEndTime);
         }
 
@@ -296,11 +283,13 @@ namespace GFGGame
         /// <returns></returns>
         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();
             return now > start && now < end;
-
         }
 
         /// <summary>
@@ -309,17 +298,20 @@ namespace GFGGame
         /// <returns></returns>
         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;
-            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;
             }
             else
             {
                 startTime = monday;
             }
+
             return time > startTime;
         }
     }

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 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
         {
             get
@@ -365,12 +365,12 @@ namespace GFGGame
             // 如果主界面ID大于最大物品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
             {
-                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 System.Collections.Generic;
 using System;
+using cfg.GfgCfg;
 using UI.CommonGame;
 
 namespace GFGGame
@@ -56,12 +57,12 @@ namespace GFGGame
 
         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);
             }
-            else if (cfg.subType == 1)
+            else if (cfg.SubType == 1)
             {
                 if (_headBorderDatas.IndexOf(itemId) >= 0) _headBorderDatas.Remove(itemId);
             }
@@ -99,12 +100,12 @@ namespace GFGGame
 
         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);
             }
-            else if (cfg.subType == 1)
+            else if (cfg.SubType == 1)
             {
                 if (_newHeadBorderDatas.IndexOf(itemId) >= 0) _newHeadBorderDatas.Remove(itemId);
             }
@@ -204,17 +205,17 @@ namespace GFGGame
 
         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)
             {
-                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);
-            if(headBorderCfg.res.Length == 0)
+            if(headBorderCfg.Res.Length == 0)
             {
                 if(comHead.m_c2 != null)
                 {
@@ -227,11 +228,11 @@ namespace GFGGame
                 {
                     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();
         }
 
@@ -272,8 +273,8 @@ namespace GFGGame
 
         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++)
             {
                 posItems[i] = "";
@@ -296,11 +297,12 @@ namespace GFGGame
         //获取指定位置月卡类型
         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;
         }

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

@@ -1,6 +1,7 @@
 using ET;
 using System;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using UnityEngine;
 
 namespace GFGGame
@@ -38,33 +39,33 @@ namespace GFGGame
         {
             roleData.partScoreListDic.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];
-                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 j = 0; j < typeCfgs.Length; j++)
+                for (int j = 0; j < typeCfgs.Count; j++)
                 {
                     FightScoreCfg cfg = typeCfgs[j];
                     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;
                             break;
                         }
@@ -87,7 +88,7 @@ namespace GFGGame
             // int tagCount = 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);
             }
@@ -103,7 +104,7 @@ namespace GFGGame
 
             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);
             }
@@ -220,11 +221,11 @@ namespace GFGGame
             if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena || InstanceZonesDataManager.FightScene == ConstInstanceZonesType.FieldWork)
             {
                 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;
                 if (tagCount > 0)
                 {
-                    addition = ArenaTagCfgArray.Instance.GetCfg(tagCount).addition / 10000f;
+                    addition = CommonDataManager.Tables.TblArenaTagCfg.GetOrDefault(tagCount).Addition / 10000f;
                 }
                 return (partScore + tagScore) * (1 + addition);
             }
@@ -243,7 +244,7 @@ namespace GFGGame
         {
             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);
             }
@@ -289,15 +290,15 @@ namespace GFGGame
             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++)
             {
                 if (skillLvs.Count <= i) continue;
                 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
                 {
@@ -316,34 +317,34 @@ namespace GFGGame
         {
             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>();
             for (int i = 0; i < targetSkillCfgs.Count; i++)
             {
                 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))
                 {
-                    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++)
             {
                 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 (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;
                     else
                         isProbability = false;
@@ -357,13 +358,13 @@ namespace GFGGame
         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;
             }
@@ -382,17 +383,17 @@ namespace GFGGame
             skillsToShowDic = new Dictionary<int, int>();
             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;
-                    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;
-                    skillsToShowDic.Add(validSkills[i].skillId, (int)Math.Ceiling(score));
+                    skillsToShowDic.Add(validSkills[i].SkillId, (int)Math.Ceiling(score));
                 }
             }
             skillScore = (int)Math.Ceiling(_skillScore);
@@ -408,10 +409,10 @@ namespace GFGGame
         {
             if (cardId <= 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++)
             {
-                if (skillCfgs[i].mainSkill == 1)
+                if (skillCfgs[i].MainSkill == 1)
                 {
                     return true;
                 }
@@ -438,7 +439,7 @@ namespace GFGGame
         /// <returns></returns>
         public PassivitySkillCfg GetShowSkillCfg(int cardId)
         {
-            List<PassivitySkillCfg> skillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardId);
+            List<PassivitySkillCfg> skillCfgs = CommonDataManager.Tables.TblPassivitySkillCfg.GetGroup1ByCardId(cardId);
             if (skillCfgs.Count <= 0)
             {
                 Debug.LogWarning(cardId + " 这张卡片没有配置技能");
@@ -447,7 +448,7 @@ namespace GFGGame
 
             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);
                     return skillCfgs[i];
@@ -465,7 +466,7 @@ namespace GFGGame
         public PassivitySkillCfg GetMainSkillCfg(int 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)
             {
@@ -476,7 +477,7 @@ namespace GFGGame
             // {
             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);
                     // 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)
             {
-                ViewManager.Show<ShareView>();
+                //ViewManager.Show<ShareView>();
             }
         }
 

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

@@ -1,6 +1,7 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using cfg.GfgCfg;
 using ET;
 
 namespace GFGGame
@@ -31,17 +32,17 @@ namespace GFGGame
         }
 
         /************************************************************************************************************/
-
+        
         public List<ShopCfg> GetList(int storeId, int typeIndex, int scoreType)
         {
             List<ShopCfg> shopCfgs = null;
             switch (storeId)
             {
                 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;
                 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;
             }
             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)
         {
-            ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(buyId);
+            ShopCfg shopCfg = CommonDataManager.Tables.TblShopCfg.GetOrDefault(buyId);
 
             costId = shopCfg.CostIdReal;
             costNum = shopCfg.Price * count;
@@ -62,8 +63,8 @@ namespace GFGGame
         {
             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 hasB = numB > 0;
                 if (hasA && !hasB)
@@ -76,8 +77,8 @@ namespace GFGGame
                 }
                 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)
                     {
                         return 1;
@@ -88,7 +89,7 @@ namespace GFGGame
                     }
                 }
 
-                return a.itemId.CompareTo(b.itemId);
+                return a.ItemId.CompareTo(b.ItemId);
             });
             return arrayList;
         }
@@ -112,7 +113,7 @@ namespace GFGGame
             List<ShopCfg> shopCfgs = new List<ShopCfg>();
             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;
                 }
@@ -127,7 +128,7 @@ namespace GFGGame
             List<ShopCfg> shopCfgs = new List<ShopCfg>();
             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);
             }
             return shopCfgs;
@@ -138,15 +139,15 @@ namespace GFGGame
             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;
-                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;
-                return a.id - b.id;
+                return a.Id - b.Id;
             });
             return shopCfgs;
         }
@@ -171,31 +172,31 @@ namespace GFGGame
         /// <returns></returns>
         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;
             }
-            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;
             }
@@ -208,31 +209,31 @@ namespace GFGGame
         /// <returns></returns>
         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 "";
         }
@@ -244,19 +245,19 @@ namespace GFGGame
         public string GetEndTime(int goodsId)
         {
             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);
         }
 
         //获取商品折扣百分比
         public int GetShopGoodsDiscount(int goodsId)
         {
-            ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(goodsId);
+            ShopCfg shopCfg = CommonDataManager.Tables.TblShopCfg.GetOrDefault(goodsId);
             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>
         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)
                 return false;
             else
@@ -379,7 +380,7 @@ namespace GFGGame
 
         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)
                 return false;
 
@@ -388,7 +389,7 @@ namespace GFGGame
                 int buyNum = ShopDataManager.Instance.GetGoodsBuyNumById(shopId);
                 foreach (var cfg in shopCfgs)
                 {
-                    if (cfg.id == shopId && buyNum < cfg.maxBuyNum)
+                    if (cfg.Id == shopId && buyNum < cfg.MaxBuyNum)
                         return true;
                 }
             }

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

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using ET;
 using FairyGUI;
 using UI.Store;
@@ -27,9 +28,9 @@ namespace GFGGame
             int level = RoleDataManager.vipLv;
             ET.Log.Debug("vipLv:" + level);
             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;
-            VipCfg nextVipCfg = VipCfgArray.Instance.GetCfg(RoleDataManager.vipLv + 1);
+            VipCfg nextVipCfg = CommonDataManager.Tables.TblVipCfg.GetOrDefault(RoleDataManager.vipLv + 1);
             com.m_grpTips.visible = nextVipCfg != null;
             if (com.m_btnRule.data == null)
             {
@@ -38,16 +39,16 @@ namespace GFGGame
             }
             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.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_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
             {
-                com.m_proExp.target.max = vipCfg.num;
+                com.m_proExp.target.max = vipCfg.Num;
                 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("max", "MAX").FlushVars();
@@ -72,37 +73,46 @@ namespace GFGGame
         {
             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)
             {
                 EffectUI _effectUI = EffectUIPool.CreateEffectUI(item.m_holderfEff, "ui_Small_parts", "store_Value");
                 _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)//可购买
             {
-                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)//不免费
                 {
-                    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_txtPrice.text = NumberUtil.ChangeNumberUnit(shopCfg.Price);// cfg.price.ToString();
 
@@ -114,7 +124,7 @@ namespace GFGGame
                     }
                     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.visible = true;
                         item.m_btnBuy.m_txtIcon.visible = false;
@@ -143,7 +153,7 @@ namespace GFGGame
         public void OnBtnBugItem(EventContext context)
         {
             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)
             {
                 PromptController.Instance.ShowFloatTextPrompt("已售罄");
@@ -157,12 +167,12 @@ namespace GFGGame
 
             if (cfg.CostTypeReal == CostType.FREE)
             {
-                ShopSProxy.ReqShopBuy(cfg.id, 1).Coroutine();
+                ShopSProxy.ReqShopBuy(cfg.Id, 1).Coroutine();
                 LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.SHANG_CHENG, 2);
             }
             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 cfg.GfgCfg;
 using UnityEngine;
 
 namespace GFGGame
@@ -52,11 +53,11 @@ namespace GFGGame
         public List<int> GetCardSkillLvs(int cardId)
         {
             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++)
             {
-                skillLvs.Add(GetCardSkillLv(cardId, skillCfgs[i].skillId));
+                skillLvs.Add(GetCardSkillLv(cardId, skillCfgs[i].SkillId));
             }
             return skillLvs;
         }
@@ -69,24 +70,24 @@ namespace GFGGame
                 case SkillType.LeagueSkill:
                     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)
                         {
                             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;

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

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using ET;
 using GFGGame;
 
@@ -23,7 +24,7 @@ namespace GFGGame
         {
             get
             {
-                return StudioCfgArray.Instance.GetCfgsByfunId(typeof(StudioFilingView).Name);
+                return CommonDataManager.Tables.TblStudioCfg.GetGroup1ByFunId(typeof(StudioFilingView).Name);
             }
         }
         public void Clear()
@@ -71,19 +72,19 @@ namespace GFGGame
         public void IsCanFight(List<StoryLevelCfg> storyLevelCfgs, int index, out bool canFight, out string content)
         {
             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;
 
             if (index > 0 && index < storyLevelCfgs.Count)
             {
-                isLastPast = InstanceZonesDataManager.CheckLevelPass(storyLevelCfgs[index - 1].id);
+                isLastPast = InstanceZonesDataManager.CheckLevelPass(storyLevelCfgs[index - 1].Id);
             }
             content = "";
-            if (!isRoleLv) content = string.Format("主角等级达到{0}级解锁", storyLevelCfg.needRoleLv);
+            if (!isRoleLv) content = string.Format("主角等级达到{0}级解锁", storyLevelCfg.NeedRoleLv);
             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;
         }
 
@@ -92,16 +93,16 @@ namespace GFGGame
         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;
-            if (cfg.funId == typeof(StudioFilingView).Name)
+            if (cfg.FunId == typeof(StudioFilingView).Name)
             {
-                needStoryLevelId = cfg.storyLevelId;
+                needStoryLevelId = cfg.StoryLevelId;
             }
             else
             {
-                needStoryLevelId = storyLevelCfg.needStoryLevelId;
+                needStoryLevelId = storyLevelCfg.NeedStoryLevelId;
             }
 
             bool isPass;
@@ -114,22 +115,22 @@ namespace GFGGame
                 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;
-            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)
             {
-                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 = "";
             canFight = isPass && isRoleLv && isLastPast;
@@ -158,22 +159,22 @@ namespace GFGGame
         private float GetAdditionBySuitId(int suitId)
         {
             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;
         }
 
-        private float GetAdditionBySuitIds(int[] suitIds)
+        private float GetAdditionBySuitIds(List<int> suitIds)
         {
             float addition = 0;
-            for (int i = 0; i < suitIds.Length; i++)
+            for (int i = 0; i < suitIds.Count; i++)
             {
                 addition += GetAdditionBySuitId(suitIds[i]);
             }
@@ -185,17 +186,17 @@ namespace GFGGame
             float addition;
             // 开服活动
             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 {
-                StudioCfg filingCfg = StudioCfgArray.Instance.GetCfg(filingChapterId);
+                StudioCfg filingCfg = CommonDataManager.Tables.TblStudioCfg.GetOrDefault(filingChapterId);
                 // 活动
                 if (IsluckyBoxFilingChapter())
-                    addition = GetAdditionBySuitIds(filingCfg.activitySuitIdArr);
+                    addition = GetAdditionBySuitIds(filingCfg.ActivitySuitId);
                 // 查阅建档
                 else
-                    addition = GetAdditionBySuitId(filingCfg.suitId);
+                    addition = GetAdditionBySuitId(filingCfg.SuitId);
             }
             return addition;
         }
@@ -241,8 +242,8 @@ namespace GFGGame
             {
                 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;
         }

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

@@ -1,6 +1,7 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using ET;
 using UnityEngine;
 
@@ -111,15 +112,15 @@ namespace GFGGame
             SortedList _propertyData = 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++)
                 {
                     int score = j + 1;
-                    int count = ItemDataManager.GetItemAdditionScore(itemCfg.id, score);
+                    int count = ItemDataManager.GetItemAdditionScore(itemCfg.Id, score);
 
                     if (_propertyData.ContainsKey(score))
                     {
@@ -139,17 +140,17 @@ namespace GFGGame
         public Dictionary<int, int> GetAdditionPropertyData(int suitId, int index)
         {
             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++)
                 {
                     int score = k + 1;
 
-                    int addCount = cfg.addition;
+                    int addCount = cfg.Addition;
 
                     if (_addPropertyData.ContainsKey(score))
                     {
@@ -182,11 +183,11 @@ namespace GFGGame
 
         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);
             for (int i = list.Count - 1; i >= 0; i--)
             {
-                if (list[i].rewardsArr.Length == 0)
+                if (list[i].Rewards.Count == 0)
                 {
                     list.RemoveAt(i);
                 }
@@ -198,7 +199,7 @@ namespace GFGGame
         private List<SuitFosterCfg> SortRewardList(List<SuitFosterCfg> list, int 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) =>
             {
@@ -233,10 +234,10 @@ namespace GFGGame
             SuitFosterData fosterData = GetSuitFosterData(suitId);
             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++)
             {
-                if (cfg[i].rewardsArr.Length == 0) continue;
+                if (cfg[i].Rewards.Count == 0) continue;
                 index = i;
                 int _step = i + 1;
                 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.Linq;
 using System.Threading.Tasks;
+using cfg.GfgCfg;
 using ET;
 
 namespace GFGGame
@@ -45,6 +46,7 @@ namespace GFGGame
                     taskIds = new List<int>();
                     TaskType2TaskIdListDic.Add(info.FuncType, taskIds);
                 }
+
                 taskIds.Add(taskId);
             }
             else
@@ -58,13 +60,14 @@ namespace GFGGame
         {
             TaskInfosDic.Remove(taskId);
             //获取任务配置
-            var cfg = TaskCfgArray.Instance.GetCfg(taskId);
+            var cfg = CommonDataManager.Tables.TblTaskCfg.GetOrDefault(taskId);
             if (cfg == null)
             {
                 Log.Error($"出现了没有配置的任务id{taskId}");
                 return;
             }
-            var funcType = cfg.funcType;
+
+            var funcType = cfg.FuncType;
             TaskType2TaskIdListDic.TryGetValue(funcType, out var taskIds);
             if (taskIds == null) return;
             taskIds.Remove(taskId);
@@ -93,14 +96,14 @@ namespace GFGGame
 
             TaskType2TaskIdListDic.TryGetValue(taskType, out var taskIds);
             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) =>
             {
-                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;
-                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;
         }
@@ -115,23 +118,25 @@ namespace GFGGame
 
             TaskType2TaskIdListDic.TryGetValue(taskType, out var taskIds);
             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) =>
             {
-                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;
-                else if(stateA < stateB)
+                else if (stateA < stateB)
                     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;
-                    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;
-                    else {
-                        if (a.id > b.id)
+                    else
+                    {
+                        if (a.Id > b.Id)
                             return 1;
                         else
                             return -1;
@@ -140,22 +145,24 @@ namespace GFGGame
             });
             return cfgs;
         }
+
         /// <summary>
         /// 获取任务列表
         /// </summary>
         /// <returns></returns>
-        public List<TaskCfg> GetTaskCfgs(int[] taskIds)
+        public List<TaskCfg> GetTaskCfgs(List<int> taskIds)
         {
             var cfgs = new List<TaskCfg>();
             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) =>
             {
-                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;
-                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;
         }
@@ -182,44 +189,45 @@ namespace GFGGame
 
         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:
-                    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.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:
-                    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:
-                    return string.Format(activeRewardCfg.desc, taskCfg.GetTargetCount(), taskCfg.paramsArr[0]);
+                    return string.Format(activeRewardCfg.Desc, taskCfg.GetTargetCount(), taskCfg.Params1[0]);
                 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.FinishInstanceZones:
-                    {
-                        return string.Format(activeRewardCfg.desc, taskCfg.paramsArr[0]);
-                    }
+                {
+                    return string.Format(activeRewardCfg.Desc, taskCfg.Params1[0]);
+                }
                 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:
-                    return string.Format(activeRewardCfg.desc, taskCfg.paramsArr[0], taskCfg.GetTargetCount());
+                    return string.Format(activeRewardCfg.Desc, taskCfg.Params1[0], taskCfg.GetTargetCount());
                 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 false;
         }
 
@@ -245,11 +254,13 @@ namespace GFGGame
             var _cfgsAll = TaskDataManager.Instance.GetTaskCfgs(taskFuncType);
             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 false;
         }
 
@@ -259,13 +270,13 @@ namespace GFGGame
             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)
-                ? taskCfg.rewardsArr
-                : taskCfg.activityRewardsArr;
+                ? taskCfg.Rewards.ToGfgGameItemParam()
+                : taskCfg.ActivityRewards.ToGfgGameItemParam();
         }
 
         public void SaveAchievementTaskTypeProList(List<AchievementTaskTypePro> AchievementTaskTypeProList)
@@ -275,8 +286,10 @@ namespace GFGGame
 
         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.CompleteTaskNum = AchievementTaskTypePro.CompleteTaskNum;
                 }

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

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using cfg.GfgCfg;
 using UnityEngine;
 using ET;
 
@@ -53,7 +54,7 @@ namespace GFGGame
             }
             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;
             ItemData itemdata;
-            CompositebonusCfg comCfg = CompositebonusCfgArray.Instance.GetCfg(rewardID);
+            CompositebonusCfg comCfg = CommonDataManager.Tables.TblCompositebonusCfg.GetOrDefault(rewardID);
             if (BagDataManager.Instance.GetBagData().TryGetValue(itemID, out itemdata))
             {
                 num = itemdata.num;
@@ -113,7 +114,7 @@ namespace GFGGame
             {
                 num = 0;
             }
-            if(num < comCfg.count)
+            if(num < comCfg.Count)
             {
                 return ConstBonusStatus.CAN_NOT_GET;
             }
@@ -156,18 +157,18 @@ namespace GFGGame
         //通过章节id判断所有奖励状态
         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)
             {
-                if (GetChapterRewardIDStatus(item.id, item.paramsArr[0]) == 1)
+                if (GetChapterRewardIDStatus(item.Id, item.Params1[0]) == 1)
                 {
                     return true;
                 }
             }
-            List<StoryLevelCfg> levelList = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(6, 2, chapID);
+            List<StoryLevelCfg> levelList = StoryLevelConfigManager.GetConfigs(6, 2, chapID);
             foreach(StoryLevelCfg levelItem in levelList)
             {
-               if(GetLevelRewardStatus(levelItem.id))
+               if(GetLevelRewardStatus(levelItem.Id))
                 {
                     return true;
                 }

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

@@ -20,9 +20,9 @@ namespace GFGGame
 
         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;
                 }
@@ -38,9 +38,9 @@ namespace GFGGame
 
         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;
                 }

+ 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 System.Collections.Generic;
+using cfg.GfgCfg;
 
 namespace GFGGame
 {
@@ -21,7 +22,7 @@ namespace GFGGame
             {
                 if(_resources == null)
 {
-                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(id);
+                    ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(id);
                     _resources = CardDataManager.GetCardResources(itemCfg);
                 }
                 return _resources;
@@ -33,7 +34,7 @@ namespace GFGGame
         {
             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
 {
     public class DropOutData

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

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

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

@@ -11,7 +11,7 @@ namespace GFGGame
         public int itemType;
         public int subType;
         public int rarity;
-        public int[][] syntheticMateriarsArr;
+        public List<ItemParam> syntheticMateriarsArr;
         public int[] param2Arr;
 
         private Dictionary<int, int> AttributesDic = new Dictionary<int, int>();
@@ -45,16 +45,16 @@ namespace GFGGame
         {
             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)
         {
             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);
                 if (cardData == null || !cardData.scores.ContainsKey(scoreType)) return 0;
@@ -63,16 +63,16 @@ namespace GFGGame
             switch (scoreType)
             {
                 case (int)ConstItemAttributeType.FENG:
-                    valueBase = cfg.score1;
+                    valueBase = cfg.Score1;
                     break;
                 case (int)ConstItemAttributeType.HUA:
-                    valueBase = cfg.score2;
+                    valueBase = cfg.Score2;
                     break;
                 case (int)ConstItemAttributeType.XUE:
-                    valueBase = cfg.score3;
+                    valueBase = cfg.Score3;
                     break;
                 case (int)ConstItemAttributeType.YUE:
-                    valueBase = cfg.score4;
+                    valueBase = cfg.Score4;
                     break;
             }
             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 cfg.GfgCfg;
 
 namespace GFGGame
 {

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů