zhaoyang пре 3 година
родитељ
комит
619c279da4

+ 22 - 6
GameClient/Assets/Editor/Excel/Scanner/CardScanner.cs

@@ -14,19 +14,36 @@ namespace GFGEditor
 
         public static void StartScan()
         {
-
+            levelCountDIc.Clear();
             var dataArray = CardLvlCfgArray.Instance.dataArray;
             SQLiteHelper.Instance.OpenConnection();
             try
             {
                 foreach (var cfg in dataArray)
                 {
-                    levelCountDIc.TryGetValue(cfg.cardRarity, out var count);
-                    count++;
-                    levelCountDIc[cfg.cardRarity] = count;
+                    int count = levelCountDIc.ContainsKey(cfg.cardRarity) ? levelCountDIc[cfg.cardRarity] : 0;
+                    levelCountDIc[cfg.cardRarity] = count + 1;
+                }
+            }
+            catch (Exception e)
+            {
+                ET.Log.Error(e.ToString());
+            }
+            finally
+            {
+                SQLiteHelper.Instance.CloseConnection();
+            }
+            SQLiteHelper.Instance.OpenConnection();
+            try
+            {
+                ICollection<int> keys = levelCountDIc.Keys;
+                foreach (int key in keys)
+                {
+                    int count = levelCountDIc[key];
+
                     var names = new string[] { "maxCardLvl" };
                     var values = new string[] { "" + count };
-                    SQLiteHelper.Instance.UpdateValues(nameof(CardRarityCfgArray), names, values, nameof(cfg.cardRarity), cfg.cardRarity.ToString());
+                    SQLiteHelper.Instance.UpdateValues(nameof(CardRarityCfgArray), names, values, "cardRarity", key.ToString());
                 }
             }
             catch (Exception e)
@@ -38,7 +55,6 @@ namespace GFGEditor
                 SQLiteHelper.Instance.CloseConnection();
             }
 
-
         }
 
         public static void WriteCardRarity()

+ 6 - 6
GameClient/Assets/Editor/ToolsMenu.cs

@@ -127,12 +127,12 @@ namespace GFGEditor
             {
                 SQLiteHelper.Instance.CloseConnection();
             }
-            // //写入商店物品类型Index
-            // ShopScanner.StartScan();
-            // //扫描物品表获取途径并更新数据库
-            // ItemApproachScanner.startScan();
-            // //扫描副本
-            // InstanceZonesScanner.StartScan();
+            //写入商店物品类型Index
+            ShopScanner.StartScan();;
+            //扫描物品表获取途径并更新数据库
+            ItemApproachScanner.startScan();
+            //扫描副本
+            InstanceZonesScanner.StartScan();
             //写入卡牌最大等级
             CardScanner.StartScan();
             AssetDatabase.Refresh();

+ 1 - 1
GameClient/Assets/Game/CSShare

@@ -1 +1 @@
-Subproject commit 24fb676424b9cf11c6840ae5e7ae0f1515856384
+Subproject commit 10a601f1810cd35e3a090f8ce86981035b777bcf

+ 37 - 84
GameClient/Assets/Game/HotUpdate/Data/CardDataManager.cs

@@ -15,6 +15,9 @@ namespace GFGGame
 
         public static Dictionary<int, Dictionary<int, int>> _selectList = new Dictionary<int, Dictionary<int, int>>();
 
+        private static Dictionary<int, List<CardStoryCfg>> _cardStoryCfgDic = new Dictionary<int, List<CardStoryCfg>>();
+
+
         public static void Clear()
         {
             _cardDicByType.Clear();
@@ -31,7 +34,7 @@ namespace GFGGame
             cardData.exp = cardInfoProto.Exp;
             cardData.star = cardInfoProto.Star;
             cardData.itemCfg = itemCfg;
-            cardData.res = cardInfoProto.ResIndex == 0 ? itemCfg.res : itemCfg.cardRes;
+            cardData.resIndex = cardInfoProto.ResIndex;
             cardData.scores = new Dictionary<int, int>();
 
             for (int j = 0; j < cardInfoProto.KsAttribute.Count; j++)
@@ -54,7 +57,7 @@ namespace GFGGame
 
         }
 
-        public static List<string> GetCardResources(ItemCfg itemCfg)
+        private static List<string> GetCardResources(ItemCfg itemCfg)
         {
             List<string> resources = new List<string>();
             resources.Add(itemCfg.res);
@@ -64,38 +67,7 @@ namespace GFGGame
             }
             return resources;
         }
-        private static void Refresh(CardData cardData)
-        {
-            _cardDicByType[0][cardData.id] = cardData;
-            _cardDicByType[cardData.itemCfg.rarity][cardData.id] = cardData;
-            GameProxy.ReqUpdateCardStatus(cardData);
-        }
 
-        private static void RefreshCardLvProperty(CardData lastCardData, int lv)
-        {
-            // List<CardLvlCfg> cardLvCfgs = CardCfgManager.GetCardLvCfgsByRarity(lastCardData.itemCfg.rarity);
-
-            // for (int i = lastCardData.lv; i < lv; i++)
-            // {
-            //     lastCardData.scores[ConstDressUpScoreType.SCORE_FENG] += cardLvCfgs[i - 1].score1;
-            //     lastCardData.scores[ConstDressUpScoreType.SCORE_HUA] += cardLvCfgs[i - 1].score1;
-            //     lastCardData.scores[ConstDressUpScoreType.SCORE_XUE] += cardLvCfgs[i - 1].score1;
-            //     lastCardData.scores[ConstDressUpScoreType.SCORE_YUE] += cardLvCfgs[i - 1].score1;
-            // }
-        }
-        private static void RefreshCardStarProperty(CardData lastCardData, int star)
-        {
-            // List<CardLvlCfg> cardLvCfgs = CardCfgManager.GetCardLvCfgsByRarity(lastCardData.itemCfg.rarity);
-
-            // for (int i = lastCardData.star; i < star; i++)
-            // {
-            //     lastCardData.scores[ConstDressUpScoreType.SCORE_FENG] += cardLvCfgs[i - 1].score1;
-            //     lastCardData.scores[ConstDressUpScoreType.SCORE_HUA] += cardLvCfgs[i - 1].score1;
-            //     lastCardData.scores[ConstDressUpScoreType.SCORE_XUE] += cardLvCfgs[i - 1].score1;
-            //     lastCardData.scores[ConstDressUpScoreType.SCORE_YUE] += cardLvCfgs[i - 1].score1;
-            // }
-
-        }
         private static List<CardData> SortItemList(List<CardData> arrayList)
         {
 
@@ -121,45 +93,6 @@ namespace GFGGame
 
 
         /// <summary>
-        /// 卡牌升级
-        /// </summary>
-        /// <param name="cardId"></param>
-        public static void UpCardLv(int cardId, int lv, int exp)
-        {
-            CardData cardData = _cardDicByType[0][cardId];
-
-            CardDataManager.RefreshCardLvProperty(cardData, lv);
-            cardData.lv = lv;
-            cardData.exp = exp;
-            CardDataManager.Refresh(cardData);
-
-        }
-        /// <summary>
-        /// 卡牌升星
-        /// </summary>
-        /// <param name="cardId"></param>
-        public static void UpCardStar(int cardId)
-        {
-            CardData cardData = _cardDicByType[0][cardId];
-
-            int star = cardData.star + 1;
-
-            CardDataManager.RefreshCardStarProperty(cardData, star);
-            cardData.star = star;
-            CardDataManager.Refresh(cardData);
-        }
-        /// <summary>
-        /// 替换卡面
-        /// </summary>
-        /// <param name="cardId"></param>
-        /// <param name="res"></param>
-        public static void SetShowCard(int cardId, string res)
-        {
-            _cardDicByType[0][cardId].res = res;
-            CardDataManager.Refresh(_cardDicByType[0][cardId]);
-        }
-
-        /// <summary>
         /// 根据卡牌Id获取卡牌升级升星数据,无数据返回null
         /// </summary>
         /// <param name="cardId"></param>
@@ -189,7 +122,7 @@ namespace GFGGame
         public static bool isFullLv(int cardId, int lv, bool showTips = true)
         {
             CardData cardData = _cardDicByType[0][cardId];
-            if (lv > CardRarityCfgArray.Instance.GetCfg(cardData.itemCfg.rarity).maxCardLvl)
+            if (lv >= CardRarityCfgArray.Instance.GetCfg(cardData.itemCfg.rarity).maxCardLvl && cardData.exp >= CardLvlCfgArray.Instance.GetCfg(lv, cardData.itemCfg.rarity).needExp)
             {
                 if (showTips == true)
                 {
@@ -205,7 +138,7 @@ namespace GFGGame
         public static bool isFullStar(int cardId, int star, bool showTips = true)
         {
             CardData cardData = _cardDicByType[0][cardId];
-            if (star >= CardCfgManager.GetCardStarCfgsByTypeAndRarity(cardData.itemCfg.subType, cardData.itemCfg.rarity).Count)
+            if (CardStarCfgArray.Instance.GetCfg(cardData.itemCfg.subType, cardData.itemCfg.rarity, star + 1) == null)
             {
                 if (showTips == true)
                 {
@@ -221,17 +154,17 @@ namespace GFGGame
 
         public static void GetPreViewLvAndExp(int rarity, int curLv, int curExp, int hasExp, out int showLv, out int showExp)
         {
-            List<CardLvlCfg> listCardLvCfgs = CardCfgManager.GetCardLvCfgsByRarity(rarity);
             showLv = curLv;
             showExp = curExp + hasExp;
+            int maxLv = CardRarityCfgArray.Instance.GetCfg(rarity).maxCardLvl;
             CardLvlCfg tCurCfg = CardLvlCfgArray.Instance.GetCfg(showLv, rarity);
-            while (showExp >= tCurCfg.needExp && showLv <= listCardLvCfgs.Count)
+            while (showExp >= tCurCfg.needExp && showLv <= maxLv)
             {
                 showLv++;
-                if (showLv == listCardLvCfgs.Count)
+                if (showLv == maxLv)
                 {
                     //满级
-                    showLv = listCardLvCfgs.Count - 1;
+                    showLv = maxLv - 1;
                     showExp = tCurCfg.needExp;
                     break;
                 }
@@ -277,15 +210,17 @@ namespace GFGGame
                 {
 
                     //培养度
-                    List<CardLvlCfg> cardLvCfgs = CardCfgManager.GetCardLvCfgsByRarity(cardList[i].itemCfg.rarity);
-                    List<CardStarCfg> cardStarCfgs = CardCfgManager.GetCardStarCfgsByTypeAndRarity(cardList[i].itemCfg.subType, cardList[i].itemCfg.rarity);
+                    // List<CardLvlCfg> cardLvCfgs = CardCfgManager.GetCardLvCfgsByRarity(cardList[i].itemCfg.rarity);
+                    int maxLv = CardRarityCfgArray.Instance.GetCfg(cardList[i].itemCfg.rarity).maxCardLvl;
+
+                    // List<CardStarCfg> cardStarCfgs = CardCfgManager.GetCardStarCfgsByTypeAndRarity(cardList[i].itemCfg.subType, cardList[i].itemCfg.rarity);
                     ICollection keys = selectList[(int)EnumCardFilterType.FOSTER].Keys;
                     foreach (int key in keys)
                     {
-                        if (key == ConstCardState.STATE_FULL_LV && cardList[i].lv == cardLvCfgs.Count - 1 ||
-                            key == ConstCardState.STATE_LV && cardList[i].lv < cardLvCfgs.Count - 1 ||
-                            key == ConstCardState.STATE_FULL_STAR && cardList[i].star == cardStarCfgs.Count ||
-                            key == ConstCardState.STATE_STAR && cardList[i].star < cardStarCfgs.Count)
+                        if (key == ConstCardState.STATE_FULL_LV && cardList[i].lv == maxLv ||
+                            key == ConstCardState.STATE_LV && cardList[i].lv < maxLv ||
+                            key == ConstCardState.STATE_FULL_STAR && isFullStar(cardList[i].id, cardList[i].star) ||
+                            key == ConstCardState.STATE_STAR && !isFullStar(cardList[i].id, cardList[i].star))
                         {
                             _cardList.Add(cardList[i]);
 
@@ -309,5 +244,23 @@ namespace GFGGame
         }
 
 
+        public static List<CardStoryCfg> GetStoryCfgsById(int cardId)
+        {
+            if (_cardStoryCfgDic.Keys.Count == 0)
+            {
+                CardStoryCfg[] cardStoryCfgs = CardStoryCfgArray.Instance.dataArray;
+
+                for (int i = 0; i < cardStoryCfgs.Length; i++)
+                {
+                    int _cardId = cardStoryCfgs[i].cardId;
+                    if (_cardStoryCfgDic.ContainsKey(_cardId) == false)
+                    {
+                        _cardStoryCfgDic.Add(_cardId, new List<CardStoryCfg>());
+                    }
+                    _cardStoryCfgDic[_cardId].Add(cardStoryCfgs[i]);
+                }
+            }
+            return _cardStoryCfgDic.ContainsKey(cardId) ? _cardStoryCfgDic[cardId] : new List<CardStoryCfg>();
+        }
     }
 }

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

@@ -8,7 +8,7 @@ namespace GFGGame
         public int lv;
         public int exp;
         public int star;
-        public string res;//当前卡面
+        public int resIndex;//当前卡面,0默认,1特殊
         public int mainScore;
         public List<string> resources;//所有配置卡面
         public Dictionary<int, int> scores;

+ 0 - 153
GameClient/Assets/Game/HotUpdate/ExcelConfig/Manager/CardCfgManager.cs

@@ -1,153 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-namespace GFGGame
-{
-    public class CardCfgManager
-    {
-        private static Dictionary<string, List<CardLvlCfg>> _cardLvCfgDic = new Dictionary<string, List<CardLvlCfg>>();
-        private static Dictionary<string, Dictionary<string, List<CardStarCfg>>> _cardStarCfgDic = new Dictionary<string, Dictionary<string, List<CardStarCfg>>>();
-        private static Dictionary<string, Dictionary<string, List<int>>> _cardResCfgDic = new Dictionary<string, Dictionary<string, List<int>>>();
-
-        private static Dictionary<int, List<CardStoryCfg>> _cardStoryCfgDic = new Dictionary<int, List<CardStoryCfg>>();
-
-        /// <summary>
-        ///  根据稀有度和卡牌等级获取升级配置
-        /// </summary>
-        /// <param name="rarity"></param>
-        /// <param name="lv"></param>
-        /// <returns></returns>
-        public static CardLvlCfg GetCardLvCfgByRarityAndLv(int rarity, int lv)
-        {
-            return CardLvlCfgArray.Instance.GetCfg(lv, rarity);
-        }
-        public static CardStarCfg GetCardStarCfgByTypeAndRarityAndStar(int type, int rarity, int star)
-        {
-            return CardStarCfgArray.Instance.GetCfg(type, rarity, star);
-        }
-
-        /// <summary>
-        ///  根据稀有度获取升级配置数组
-        /// </summary>
-        /// <param name="rarity"></param>
-        /// <returns></returns>
-        public static List<CardLvlCfg> GetCardLvCfgsByRarity(int rarity)
-        {
-            if (_cardLvCfgDic.Count == 0)
-            {
-
-                int _rarity = 1;
-                int _lv = 1;
-                CardLvlCfg lvCfg = CardLvlCfgArray.Instance.GetCfg(_lv, _rarity);
-
-                while (lvCfg != null)
-                {
-                    if (_cardLvCfgDic.ContainsKey(_rarity.ToString()) == false)
-                    {
-                        _cardLvCfgDic.Add(_rarity.ToString(), new List<CardLvlCfg>());
-                    }
-                    _cardLvCfgDic[_rarity.ToString()].Add(lvCfg);
-
-                    _lv++;
-                    lvCfg = CardLvlCfgArray.Instance.GetCfg(_lv, _rarity);
-                    if (lvCfg != null) continue;
-
-                    _lv = 1;
-                    _rarity++;
-                    lvCfg = CardLvlCfgArray.Instance.GetCfg(_lv, _rarity);
-                    if (lvCfg == null) break;
-                }
-            }
-            return _cardLvCfgDic[rarity.ToString()];
-        }
-
-        /// <summary>
-        /// 根据男主类型和稀有度获取升星配置数组
-        /// </summary>
-        /// <param name="type"></param>
-        /// <param name="rarity"></param>
-        /// <returns></returns>
-        public static List<CardStarCfg> GetCardStarCfgsByTypeAndRarity(int type, int rarity)
-        {
-            if (_cardStarCfgDic.Count == 0)
-            {
-
-                int _type = 1;
-                int _rarity = 1;
-                int _star = 1;
-                CardStarCfg starCfg = CardStarCfgArray.Instance.GetCfg(1, 1, 1);
-
-                while (starCfg != null)
-                {
-                    if (_cardStarCfgDic.ContainsKey(_type.ToString()) == false)
-                    {
-                        _cardStarCfgDic.Add(_type.ToString(), new Dictionary<string, List<CardStarCfg>>());
-                        _cardResCfgDic.Add(_type.ToString(), new Dictionary<string, List<int>>());
-                    }
-
-                    if (_cardStarCfgDic[_type.ToString()].ContainsKey(_rarity.ToString()) == false)
-                    {
-                        _cardStarCfgDic[_type.ToString()].Add(_rarity.ToString(), new List<CardStarCfg>());
-                        _cardResCfgDic[_type.ToString()].Add(_rarity.ToString(), new List<int>());
-
-                    }
-                    _cardStarCfgDic[_type.ToString()][_rarity.ToString()].Add(starCfg);
-                    if (starCfg.res != "")
-                    {
-                        _cardResCfgDic[_type.ToString()][_rarity.ToString()].Add(_star);
-                    }
-
-                    _star++;
-                    starCfg = CardStarCfgArray.Instance.GetCfg(_type, _rarity, _star);
-                    if (starCfg != null) continue;
-
-                    _star = 1;
-                    _rarity++;
-                    starCfg = CardStarCfgArray.Instance.GetCfg(_type, _rarity, _star);
-
-                    if (starCfg != null) continue;
-                    _star = 1;
-                    _rarity = 1;
-                    _type++;
-                    starCfg = CardStarCfgArray.Instance.GetCfg(_type, _rarity, _star);
-                    if (starCfg == null) break;
-                }
-            }
-            return _cardStarCfgDic[type.ToString()][rarity.ToString()];
-        }
-        public static int GetCardShowCountByIdAndTypeAndRarity(int cardId, int type, int rarity)
-        {
-
-            int count = 0;
-            List<int> resourceStar = _cardResCfgDic[type.ToString()][rarity.ToString()];
-            for (int i = 0; i < resourceStar.Count; i++)
-            {
-                if (CardDataManager.GetCardDataById(cardId).star >= resourceStar[i])
-                {
-                    count++;
-                }
-            }
-            return count;
-        }
-
-        public static List<CardStoryCfg> GetStoryCfgsById(int cardId)
-        {
-            if (_cardStoryCfgDic.Keys.Count == 0)
-            {
-                CardStoryCfg[] cardStoryCfgs = CardStoryCfgArray.Instance.dataArray;
-
-                for (int i = 0; i < cardStoryCfgs.Length; i++)
-                {
-                    int _cardId = cardStoryCfgs[i].cardId;
-                    if (_cardStoryCfgDic.ContainsKey(_cardId) == false)
-                    {
-                        _cardStoryCfgDic.Add(_cardId, new List<CardStoryCfg>());
-                    }
-                    _cardStoryCfgDic[_cardId].Add(cardStoryCfgs[i]);
-                }
-            }
-            return _cardStoryCfgDic.ContainsKey(cardId) ? _cardStoryCfgDic[cardId] : new List<CardStoryCfg>();
-        }
-    }
-}

+ 0 - 11
GameClient/Assets/Game/HotUpdate/ExcelConfig/Manager/CardCfgManager.cs.meta

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

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Net/Proxy/GameProxy.cs

@@ -223,7 +223,7 @@ namespace GFGGame
             int score3 = cardData.scores[ConstDressUpScoreType.SCORE_XUE];
             int score4 = cardData.scores[ConstDressUpScoreType.SCORE_YUE];
 
-            Dictionary<string, object> data = JsonUtil.createJsonDic("roleId", RoleDataManager.roleId, "cardId", cardData.id, "lv", cardData.lv, "exp", cardData.exp, "star", cardData.star, "res", cardData.res, "score1", score1, "score2", score2, "score3", score3, "score4", score4);
+            Dictionary<string, object> data = JsonUtil.createJsonDic("roleId", RoleDataManager.roleId, "cardId", cardData.id, "lv", cardData.lv, "exp", cardData.exp, "star", cardData.star, "res", cardData.resIndex, "score1", score1, "score2", score2, "score3", score3, "score4", score4);
             Post(GameProtoId.UPDATE_ROLE_CARD, "roleCard", data, (GameResult result) =>
             {
                 EventAgent.DispatchEvent(ConstMessage.CARD_REFRESH);

+ 9 - 6
GameClient/Assets/Game/HotUpdate/ServerProxy/CardSProxy.cs

@@ -35,7 +35,7 @@ namespace GFGGame
             }
         }
 
-        public static async ETTask UpgradeCardLvl(int cardId, List<int> itemNums)
+        public static async ETTask<bool> UpgradeCardLvl(int cardId, List<int> itemNums)
         {
             M2C_UpgradeCardLvl response = null;
             response = (M2C_UpgradeCardLvl)await MessageHelper.SendToServer(new C2M_UpgradeCardLvl() { CardId = cardId, ItemNums = itemNums });
@@ -43,11 +43,12 @@ namespace GFGGame
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
-
+                    return true;
                 }
             }
+            return false;
         }
-        public static async ETTask UpgradeCardStar(int cardId)
+        public static async ETTask<bool> UpgradeCardStar(int cardId)
         {
             M2C_UpgradeCardStar response = null;
             response = (M2C_UpgradeCardStar)await MessageHelper.SendToServer(new C2M_UpgradeCardStar() { CardId = cardId });
@@ -55,12 +56,13 @@ namespace GFGGame
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
-
+                    return true;
                 }
             }
+            return false;
         }
         //resIndex:0默认,1特殊
-        public static async ETTask ChangeCardLvl(int cardId, int resIndex)
+        public static async ETTask<bool> ChangeCardRes(int cardId, int resIndex)
         {
             M2C_ChangeCardLvl response = null;
             response = (M2C_ChangeCardLvl)await MessageHelper.SendToServer(new C2M_ChangeCardLvl() { CardId = cardId, ResIndex = resIndex });
@@ -68,9 +70,10 @@ namespace GFGGame
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
-
+                    return true;
                 }
             }
+            return false;
         }
         public static async ETTask UpgradeCardSkill(int cardId, int skillId)
         {

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

@@ -87,7 +87,7 @@ namespace GFGGame
             UI_ListCardItem listItem = UI_ListCardItem.Proxy(obj);
             CardData data = (_ui.m_listCard.data as List<CardData>)[index];//CardDataManager.GetCardList(_ui.m_listRole.selectedIndex)[index];
             listItem.target.data = data;
-            listItem.m_loaCard.m_loaCard.url = ResPathUtil.GetCardSmallPath(data.res);
+            listItem.m_loaCard.m_loaCard.url = ResPathUtil.GetCardSmallPath(data.resources[data.resIndex]);
             listItem.m_loaRarity.url = ResPathUtil.GetCommonGameResPath("kp_sxing_x_" + data.itemCfg.rarity);
             listItem.m_txtLv.text = "Lv.\n" + data.lv;
             listItem.m_txtName.text = data.itemCfg.name;

+ 55 - 53
GameClient/Assets/Game/HotUpdate/Views/Card/CardFosterView.cs

@@ -23,6 +23,8 @@ namespace GFGGame
 
         private GObject _consumeSelectItem;//选中的材料item
         private int _consumeSelectIndex = 0;//0为减,1为加
+
+        private List<int> itemsNum = new List<int>();
         //private Timer _timer;
         private const float _delay = 300;
         private double _selectTimeCount = 0;//长按时间
@@ -113,7 +115,7 @@ namespace GFGGame
         private void UpdateNormal()
         {
             _comFosterBottom.m_txtName.text = _cardData.itemCfg.name;
-            _comFosterBottom.m_btnStory.visible = CardCfgManager.GetStoryCfgsById(_cardData.id).Count > 0 ? true : false;
+            _comFosterBottom.m_btnStory.visible = CardDataManager.GetStoryCfgsById(_cardData.id).Count > 0 ? true : false;
             _comFosterBottom.m_btnUpLv.grayed = true;
             _comFosterBottom.m_loaRarity.url = ResPathUtil.GetCommonGameResPath("kp_sx_da_" + _cardData.itemCfg.rarity);
             _valueBarController = new ValueBarController(_ui.m_ComFosterTop.m_comValueBar, 5);
@@ -134,7 +136,7 @@ namespace GFGGame
                 GameObject.Destroy(_cardObj);
                 _cardObj = null;
             }
-            string resPath = ResPathUtil.GetCardAnimationPath(_cardData.res);
+            string resPath = ResPathUtil.GetCardAnimationPath(_cardData.resources[_cardData.resIndex]);
             _cardObj = DressUpUtil.AddAnimationObj(resPath);
 
             if (_cardObj != null)
@@ -162,7 +164,7 @@ namespace GFGGame
                 _ui.m_comCard.target.visible = false;
                 _ui.m_loaCard.visible = true;
                 _ui.m_loaListener.visible = false;
-                _ui.m_loaCard.url = ResPathUtil.GetCardPath(_cardData.res);
+                _ui.m_loaCard.url = ResPathUtil.GetCardPath(_cardData.resources[_cardData.resIndex]);
                 _ui.m_loaCard.width = _ui.m_loaCard.image.width;
             }
 
@@ -206,7 +208,7 @@ namespace GFGGame
         private void RenderListLvConsumeItem(int index, GObject obj)
         {
             UI_ComConsume listItem = UI_ComConsume.Proxy(obj);
-            CardLvlCfg cardLvCfg = CardCfgManager.GetCardLvCfgByRarityAndLv(_cardData.itemCfg.rarity, _cardData.lv);
+            CardLvlCfg cardLvCfg = CardLvlCfgArray.Instance.GetCfg(_cardData.lv, _cardData.itemCfg.rarity);
             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.upgradeCardItemsArr[index]);
             listItem.m_loaItem.url = ResPathUtil.GetIconPath(itemCfg);
             listItem.m_txtNum.text = ItemDataManager.GetItemNum(itemCfg.id).ToString();
@@ -298,7 +300,7 @@ namespace GFGGame
 
                 return false;
             }
-            if (_showLv == (CardCfgManager.GetCardLvCfgsByRarity(_cardData.itemCfg.rarity).Count - 1) && _comFosterBottom.m_barLv.max == _comFosterBottom.m_barLv.value)
+            if (_showLv == CardRarityCfgArray.Instance.GetCfg(_cardData.itemCfg.rarity).maxCardLvl && _comFosterBottom.m_barLv.max == _comFosterBottom.m_barLv.value)
             {
                 Timers.inst.Remove(OnTimedEvent);
 
@@ -383,13 +385,10 @@ namespace GFGGame
             }
 
         }
-        private void UpLv()
+        private async void UpLv()
         {
-            int itemMoneyId = (UI_ComConsume.Proxy(_comFosterBottom.m_listLvConsume.GetChildAt(0)).target.data as ItemCfg).cardUpLvGoldArr[0];
-            int itemMoneyNum = int.Parse(_comFosterBottom.m_ComLvConsumeGold.m_txtCount.text);
-            ItemDataManager.Remove(itemMoneyId, itemMoneyNum);
-
 
+            itemsNum.Clear();
             int allConsume = 0;
             for (int i = 0; i < _comFosterBottom.m_listLvConsume.numItems; i++)
             {
@@ -397,8 +396,7 @@ namespace GFGGame
                 int itemId = (listItem.target.data as ItemCfg).id;
                 int itemNum = int.Parse(listItem.m_txtUseCount.text);
                 allConsume += itemNum;
-                if (itemNum <= 0) continue;
-                ItemDataManager.Remove(itemId, itemNum);
+                itemsNum.Add(itemNum);
             }
             if (allConsume == 0)
             {
@@ -406,18 +404,20 @@ namespace GFGGame
                 return;
             }
 
-
             if (CardDataManager.isFullLv(_cardData.id, _cardData.lv) == false)
             {
                 int lv = _cardData.lv;
-                CardDataManager.UpCardLv(_cardData.id, _showLv, _showExp);
-                this.UpdateCommon();
-                this.UpdateUpLvView();
-
-                if (_showLv - lv >= 1)
+                bool result = await CardSProxy.UpgradeCardLvl(_cardData.id, itemsNum);
+                if (result)
                 {
-                    this._selectTab = _comFosterBottom.m_ctrlTab.selectedIndex;
-                    ViewManager.Show(ViewName.CARD_UP_VIEW, new object[] { _cardData.scores, "lv", lv, _showLv }, new object[] { ViewName.CARD_FOSTER_VIEW, _cardData });
+                    if (_showLv - lv >= 1)
+                    {
+                        this._selectTab = _comFosterBottom.m_ctrlTab.selectedIndex;
+                        ViewManager.Show(ViewName.CARD_UP_VIEW, new object[] { _cardData.scores, "lv", lv, _showLv }, new object[] { ViewName.CARD_FOSTER_VIEW, _cardData });
+                    }
+                    this.UpdateCommon();
+                    this.UpdateUpLvView();
+
                 }
             }
         }
@@ -427,17 +427,15 @@ namespace GFGGame
 
         private void UpdateUpStarView()
         {
-            List<CardStarCfg> cardStarCfgs = CardCfgManager.GetCardStarCfgsByTypeAndRarity(_cardData.itemCfg.subType, _cardData.itemCfg.rarity);
-            CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
-
+            CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfg(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
             _comFosterBottom.m_comStar.m_c1.selectedIndex = _cardData.star;
-            _comFosterBottom.m_comStar.m_c2.selectedIndex = cardStarCfgs.Count;
+            _comFosterBottom.m_comStar.m_c2.selectedIndex = 5;
             if (CardDataManager.isFullStar(_cardData.id, _cardData.star, false))
             {
                 _comFosterBottom.m_ctrlFullStar.selectedIndex = 1;
-                //List<string> resse = CardCfgManager.GetCardShowResByIdAndTypeAndRarity(_viewData.id, _viewData.itemCfg.type, _viewData.itemCfg.rarity);
+
                 _comFosterBottom.m_listShowCard.data = _cardData.resources;
-                _comFosterBottom.m_listShowCard.numItems = CardCfgManager.GetCardShowCountByIdAndTypeAndRarity(_cardData.id, _cardData.itemCfg.subType, _cardData.itemCfg.rarity);
+                _comFosterBottom.m_listShowCard.numItems = _cardData.resources.Count;
                 return;
             }
             else
@@ -496,17 +494,28 @@ namespace GFGGame
         {
             GButton listItem = obj as GButton;
             GLoader loaStarCard = UI_ComStarCard.Proxy(listItem.GetChild("ComStarCard")).m_loaStarCard;
-            string res = (listItem.parent.data as List<string>)[index];
-            if (res == _cardData.res) { _comFosterBottom.m_listShowCard.selectedIndex = index; }
-            loaStarCard.url = ResPathUtil.GetCardSmallPath(res);
-            listItem.data = res;
+            // string res = (listItem.parent.data as List<string>)[index];
+            if (index == _cardData.resIndex)
+            {
+                _comFosterBottom.m_listShowCard.selectedIndex = index;
+            }
+            loaStarCard.url = ResPathUtil.GetCardSmallPath(_cardData.resources[index]);
+            listItem.data = index;
         }
 
-        private void OnClickShowCardListItem(EventContext context)
+        private async void OnClickShowCardListItem(EventContext context)
         {
-            CardDataManager.SetShowCard(_cardData.id, (string)((context.data as GButton).data));
-            this.UpdateCommon();
-            this.UpdateCardRes();
+            // CardDataManager.SetShowCard(_cardData.id, (string)((context.data as GButton).data));
+            int resIndex = (int)(context.data as GObject).data;
+            if (resIndex != _cardData.resIndex)
+            {
+                bool result = await CardSProxy.ChangeCardRes(_cardData.id, resIndex);
+                if (result)
+                {
+                    this.UpdateCommon();
+                    this.UpdateCardRes();
+                }
+            }
         }
         private void OnClickBtnPlusStarConsum(int index)
         {
@@ -518,7 +527,7 @@ namespace GFGGame
         private void OnClickBtnUpStar()
         {
 
-            CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
+            CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfg(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
 
             if (_cardData.lv < cardStarCfg.needLv)
             {
@@ -549,27 +558,20 @@ namespace GFGGame
             }
 
         }
-        private void UpStar()
+        private async void UpStar()
         {
-            CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
+            CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfg(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
 
-            int costNeed = cardStarCfg.costNum;
-            ItemDataManager.Remove(cardStarCfg.costID, costNeed);
-
-            for (int i = 0; i < _comFosterBottom.m_listStarConsume.numItems; i++)
+            bool result = await CardSProxy.UpgradeCardStar(_cardData.id);
+            if (result)
             {
-                UI_ComStarConsume listItem = UI_ComStarConsume.Proxy(_comFosterBottom.m_listStarConsume.GetChildAt(i));
-                int itemId = int.Parse(listItem.target.data.ToString());
-                int itemNum = cardStarCfg.materiarsArr[i][1];// int.Parse(listItem.m_txtNeedCount.text);
-                ItemDataManager.Remove(itemId, itemNum);
-            }
-            CardDataManager.UpCardStar(_cardData.id);
-            this.UpdateCommon();
-            this.UpdateUpStarView();
 
-            this._selectTab = _comFosterBottom.m_ctrlTab.selectedIndex;
-            ViewManager.Show(ViewName.CARD_UP_VIEW, new object[] { _cardData.scores, "star", _cardData.star - 1, _cardData.star }, new object[] { ViewName.CARD_FOSTER_VIEW, _cardData });
+                this.UpdateCommon();
+                this.UpdateUpStarView();
 
+                this._selectTab = _comFosterBottom.m_ctrlTab.selectedIndex;
+                ViewManager.Show(ViewName.CARD_UP_VIEW, new object[] { _cardData.scores, "star", _cardData.star - 1, _cardData.star }, new object[] { ViewName.CARD_FOSTER_VIEW, _cardData });
+            }
         }
         /***********************************************************升技能***************************************************/
 
@@ -665,12 +667,12 @@ namespace GFGGame
         {
             if (!CardDataManager.isFullLv(_cardData.id, _cardData.lv, false))
             {
-                CardLvlCfg cardLvCfg = CardCfgManager.GetCardLvCfgByRarityAndLv(_cardData.itemCfg.rarity, _showLv);
+                CardLvlCfg cardLvCfg = CardLvlCfgArray.Instance.GetCfg(_showLv, _cardData.itemCfg.rarity);
                 _comFosterBottom.m_listLvConsume.numItems = GlobalCfgArray.globalCfg.upgradeCardItemsArr.Length;
             }
             if (!CardDataManager.isFullStar(_cardData.id, _cardData.star, false))
             {
-                CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
+                CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfg(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
                 _comFosterBottom.m_listStarConsume.numItems = cardStarCfg.materiarsArr.Length;
 
             }

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

@@ -35,13 +35,13 @@ namespace GFGGame
 
             this.PlayMusic();
             _ui.m_t1.ignoreEngineTimeScale = false;
-            _ui.m_t1.timeScale =1/ MusicManager.Instance.GetSoundTime();
-         
+            _ui.m_t1.timeScale = 1 / MusicManager.Instance.GetSoundTime();
+
             _ui.m_btnPlay.selected = true;
             _ui.m_t1.Play(OnPlayFinish);
 
             _ui.m_comContent.m_txtContent.text = _viewData.itemCfg.cardMoodDesc;
-            _ui.m_loaCard.url = ResPathUtil.GetCardPath(_viewData.res);
+            _ui.m_loaCard.url = ResPathUtil.GetCardPath(_viewData.resources[_viewData.resIndex]);
         }
         private void OnClickBtnPlay()
         {
@@ -70,7 +70,7 @@ namespace GFGGame
         }
         private void PlayMusic()
         {
-            MusicManager.Instance.PlayByUrl(ResPathUtil.GetCardSoundPath(_viewData.itemCfg.cardMoodSound),true);
+            MusicManager.Instance.PlayByUrl(ResPathUtil.GetCardSoundPath(_viewData.itemCfg.cardMoodSound), true);
 
 
         }
@@ -80,9 +80,9 @@ namespace GFGGame
         }
         private void OnClickBtnBack()
         {
-          
+
             ViewManager.GoBackFrom(ViewName.CARD_Mood_VIEW);
-            
+
         }
 
         protected override void OnHide()

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

@@ -32,7 +32,8 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
-            _ui.m_loaCard.url = ResPathUtil.GetCardPath((viewData as CardData).res);
+            CardData cardData = (viewData as CardData);
+            _ui.m_loaCard.url = ResPathUtil.GetCardPath(cardData.resources[cardData.resIndex]);
             _ui.m_loaCard.width = _ui.m_loaCard.image.width;
 
             _ui.target.scrollPane.SetPercX(0.5f, false);

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

@@ -32,11 +32,11 @@ namespace GFGGame
             base.OnShown();
             _viewData = this.viewData as CardData;
             _ui.m_btnMood.grayed = _viewData.star < _viewData.itemCfg.cardMoodStar ? true : false;
-            _ui.m_listCardStory.numItems = CardCfgManager.GetStoryCfgsById(_viewData.itemCfg.id).Count;
+            _ui.m_listCardStory.numItems = CardDataManager.GetStoryCfgsById(_viewData.itemCfg.id).Count;
         }
         private void RenderListCardStoryItem(int index, GObject obj)
         {
-            CardStoryCfg cardStoryCfg = CardCfgManager.GetStoryCfgsById(_viewData.itemCfg.id)[index];
+            CardStoryCfg cardStoryCfg = CardDataManager.GetStoryCfgsById(_viewData.itemCfg.id)[index];
             UI_ListCardStoryItem listItem = UI_ListCardStoryItem.Proxy(obj);
             listItem.m_txtTitle.text = string.Format("第{0}节", NumberUtil.GetChiniseNumberText(index + 1));// "第" + NumberUtil.GetChiniseNumberText(index + 1) + "节";
             if (_viewData.lv >= cardStoryCfg.lvl)

+ 6 - 5
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryCardChoose.cs

@@ -56,13 +56,14 @@ namespace GFGGame
         }
         private void RenderListCardItem(int index, GObject obj)
         {
+            CardData cardData = cardList[index];
             GButton item = obj as GButton;
-            item.GetChild("txtName").asTextField.text = cardList[index].itemCfg.name;
-            item.GetChild("comCardMask").asCom.GetChild("loaCard").asLoader.url = ResPathUtil.GetCardSmallPath(cardList[index].res);
-            item.GetChild("txtLv").asTextField.text = string.Format("Lv.\n{0}", cardList[index].lv);
-            item.GetChild("loaRarity").asLoader.url = ResPathUtil.GetCommonGameResPath("kp_sxing_x_" +cardList[index].itemCfg.rarity);
+            item.GetChild("txtName").asTextField.text = cardData.itemCfg.name;
+            item.GetChild("comCardMask").asCom.GetChild("loaCard").asLoader.url = ResPathUtil.GetCardSmallPath(cardData.resources[cardData.resIndex]);
+            item.GetChild("txtLv").asTextField.text = string.Format("Lv.\n{0}", cardData.lv);
+            item.GetChild("loaRarity").asLoader.url = ResPathUtil.GetCommonGameResPath("kp_sxing_x_" + cardData.itemCfg.rarity);
             UI_ComStar comStar = UI_ComStar.Proxy(item.GetChild("comStar").asCom);
-            comStar.m_c1.selectedIndex = cardList[index].star;
+            comStar.m_c1.selectedIndex = cardData.star;
 
         }
         private void OnListCardItemClick(EventContext context)

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/MainStory/StorySkillView.cs

@@ -21,7 +21,7 @@ namespace GFGGame
         {
             base.OnShown();
             CardData data = CardDataManager.GetCardDataById(InstanceZonesDataManager.currentCardId);//(0)[InstanceZonesDataManager.currentCardId];
-            _ui.m_comSkillCard.m_loaCard.url = ResPathUtil.GetCardSmallPath(data.res);
+            _ui.m_comSkillCard.m_loaCard.url = ResPathUtil.GetCardSmallPath(data.resources[data.resIndex]);
             PassivitySkillCfg cfg = ScoreSystemData.Instance.GetMainSkillCfg(data.id);
             _ui.m_ComSkillName.target.GetChild("txtName").asTextField.text = cfg.name;
             _ui.m_ComSkillScore.target.GetChild("txtCount").asTextField.text = Math.Round((double)viewData).ToString();

+ 8 - 8
GameClient/Assets/Game/HotUpdate/Views/ViewManager.cs

@@ -52,10 +52,10 @@ namespace GFGGame
         public static void Show(string viewName, object viewData = null, object[] goBackParams = null, bool hideOthers = false, bool resetGobackParams = false)
         {
             string name = GetName(viewName);
-            if (!FunctionOpenDataManager.Instance.CheckIsFunOpenById(name))
-            {
-                return;
-            }
+            // if (!FunctionOpenDataManager.Instance.CheckIsFunOpenById(name))
+            // {
+            //     return;
+            // }
             if (hideOthers)
             {
                 HideAllView(name);
@@ -122,10 +122,10 @@ namespace GFGGame
             // string viewName = names[names.Length - 1];
             string name = GetName(typeof(T).FullName);
 
-            if (!FunctionOpenDataManager.Instance.CheckIsFunOpenById(name))
-            {
-                return false;
-            }
+            // if (!FunctionOpenDataManager.Instance.CheckIsFunOpenById(name))
+            // {
+            //     return false;
+            // }
             if (hideOthers)
             {
                 HideAllView(name);

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