zhaoyang 3 years ago
parent
commit
a491c87d35

+ 1 - 1
GameClient/Assets/Game/CSShare

@@ -1 +1 @@
-Subproject commit 5590777eebf2bdb8132ab0659dd8453e9409a198
+Subproject commit c3b5d248f23898f89df9d0bf3f787c1ac4a92cac

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

@@ -187,6 +187,7 @@ namespace GFGGame
             ItemHelper.GetItemAttributeInfos().Coroutine();
             SuitFosterProxy.SendGetSuitInfos().Coroutine();
             MainStorySProxy.GetStoryInfos().Coroutine();
+            CardSProxy.GetCardInfos().Coroutine();
 
             EquipDataCache.cacher.autoPlay = StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_AUTO_PLAY) <= 0 ? false : true;
             EquipDataCache.cacher.fightSpeed = StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_AUTO_PLAY_SPEED) <= 1 ? 1 : StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_AUTO_PLAY_SPEED);

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

@@ -3,6 +3,7 @@ using System;
 using System.Collections;
 using System.Collections.Generic;
 using System.Linq;
+using ET;
 using UnityEngine;
 
 namespace GFGGame
@@ -19,89 +20,63 @@ namespace GFGGame
             _cardDicByType.Clear();
         }
 
-        public static void InitServerData(List<RoleCard> roleCards)
-        {
-            if (roleCards.Count != 0)
-            {
-                for (int i = 0; i < roleCards.Count; i++)
-                {
-                    CardData cardData = _cardDicByType[0][roleCards[i].cardId];
-                    cardData.lv = roleCards[i].lv;
-                    cardData.exp = roleCards[i].exp;
-                    cardData.star = roleCards[i].star;
-                    cardData.res = roleCards[i].res;
-                    cardData.scores[ConstDressUpScoreType.SCORE_FENG] = roleCards[i].score1;
-                    cardData.scores[ConstDressUpScoreType.SCORE_HUA] = roleCards[i].score2;
-                    cardData.scores[ConstDressUpScoreType.SCORE_XUE] = roleCards[i].score3;
-                    cardData.scores[ConstDressUpScoreType.SCORE_YUE] = roleCards[i].score4;
-
-
-                    CardData cardDataByScore = _cardDicByType[cardData.itemCfg.rarity][roleCards[i].cardId];
-
-                    cardDataByScore.lv = roleCards[i].lv;
-                    cardDataByScore.exp = roleCards[i].exp;
-                    cardDataByScore.star = roleCards[i].star;
-                    cardDataByScore.res = roleCards[i].res;
-                    cardDataByScore.scores[ConstDressUpScoreType.SCORE_FENG] = roleCards[i].score1;
-                    cardDataByScore.scores[ConstDressUpScoreType.SCORE_HUA] = roleCards[i].score2;
-                    cardDataByScore.scores[ConstDressUpScoreType.SCORE_XUE] = roleCards[i].score3;
-                    cardDataByScore.scores[ConstDressUpScoreType.SCORE_YUE] = roleCards[i].score4;
 
-                }
-            }
-        }
 
-        public static void Add(int itemId)
+        public static void Add(CardInfoProto cardInfoProto)
         {
-            CardData card = new CardData();
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
-            card.id = itemId;
-            card.lv = 1;
-
-            card.exp = 0;
-            card.star = 1;
-            card.itemCfg = itemCfg;
-            card.res = itemCfg.res;
-            card.scores = new Dictionary<int, int>();
-            card.scores.Add(ConstDressUpScoreType.SCORE_FENG, itemCfg.score1);
-            card.scores.Add(ConstDressUpScoreType.SCORE_HUA, itemCfg.score2);
-            card.scores.Add(ConstDressUpScoreType.SCORE_XUE, itemCfg.score3);
-            card.scores.Add(ConstDressUpScoreType.SCORE_YUE, itemCfg.score4);
-            card.mainScore = CardDataManager.GetMainScore(card.scores);
-            card.resources = CardDataManager.GetCardResources(itemCfg);
+            CardData cardData = new CardData();
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(cardInfoProto.CardId);
+            cardData.id = cardInfoProto.CardId;
+            cardData.lv = cardInfoProto.Lvl;
+            cardData.exp = cardInfoProto.Exp;
+            cardData.star = cardInfoProto.Star;
+            cardData.itemCfg = itemCfg;
+            cardData.res = itemCfg.res;
+            cardData.scores = new Dictionary<int, int>();
+
+            for (int j = 0; j < cardInfoProto.KsAttribute.Count; j++)
+            {
+                cardData.scores.Add(cardInfoProto.KsAttribute[j], cardInfoProto.VsAttribute[j]);
+            }
+            cardData.mainScore = itemCfg.mainScore;// CardDataManager.GetMainScore(card.scores);
+            cardData.resources = CardDataManager.GetCardResources(itemCfg);
 
             if (_cardDicByType.ContainsKey(0) == false)
             {
                 _cardDicByType[0] = new Dictionary<int, CardData>();
             }
-            if (_cardDicByType.ContainsKey(card.itemCfg.rarity) == false)
+            if (_cardDicByType.ContainsKey(cardData.itemCfg.rarity) == false)
             {
-                _cardDicByType[card.itemCfg.rarity] = new Dictionary<int, CardData>();
+                _cardDicByType[cardData.itemCfg.rarity] = new Dictionary<int, CardData>();
             }
-            _cardDicByType[0].Add(card.id, card);
-            _cardDicByType[card.itemCfg.rarity].Add(card.id, card);
+            _cardDicByType[0].Add(cardData.id, cardData);
+            _cardDicByType[cardData.itemCfg.rarity].Add(cardData.id, cardData);
 
         }
-        private static int GetMainScore(Dictionary<int, int> scores)
-        {
-            //五个属性中最大的为主属性
-            int mainScore = 1;
-            int mainScoreValue = 0;
-            ICollection keys = scores.Keys;
-            foreach (int key in keys)
-            {
-                if (scores[key] > mainScoreValue)
-                {
-                    mainScore = key;
-                }
-            }
-            return mainScore;
-        }
-        private static List<string> GetCardResources(ItemCfg itemCfg)
+        // private static int GetMainScore(Dictionary<int, int> scores)
+        // {
+        //     //五个属性中最大的为主属性
+        //     int mainScore = 1;
+        //     int mainScoreValue = 0;
+        //     ICollection keys = scores.Keys;
+        //     foreach (int key in keys)
+        //     {
+        //         if (scores[key] > mainScoreValue)
+        //         {
+        //             mainScore = key;
+        //         }
+        //     }
+        //     return mainScore;
+        // }
+
+        public static List<string> GetCardResources(ItemCfg itemCfg)
         {
             List<string> resources = new List<string>();
             resources.Add(itemCfg.res);
-            resources.Add(itemCfg.cardRes);
+            if (itemCfg.cardRes! != "")
+            {
+                resources.Add(itemCfg.cardRes);
+            }
             return resources;
         }
         private static void Refresh(CardData cardData)

+ 0 - 6
GameClient/Assets/Game/HotUpdate/Data/ItemDataManager.cs

@@ -42,12 +42,6 @@ namespace GFGGame
             {
                 DressUpMenuItemDataManager.Add(itemID);
             }
-            //Debug.Log("itemid:"+ itemID);
-            //Debug.Log("itemCfg:" + itemCfg);
-            if (itemCfg.itemType == ConstItemType.CARD)
-            {
-                CardDataManager.Add(itemID);
-            }
 
             if (itemCfg.itemType == ConstItemType.DRESS_UP && !DressUpMenuItemDataManager.CheckIsSceneType(itemID))
             {

+ 35 - 27
GameClient/Assets/Game/HotUpdate/Data/ScoreSystemData.cs

@@ -153,28 +153,30 @@ namespace GFGGame
         {
             skillScore = 0;
             showCard = false;
-            if (!SkillDataManager.Instance.dicPassivitySkill.TryGetValue(InstanceZonesDataManager.currentCardId, out Dictionary<int, List<PassivitySkillCfg>> cfgs))
-            {
-                return;
-            }
-
-            foreach (int key in cfgs.Keys)
+            // if (!SkillDataManager.Instance.dicPassivitySkill.TryGetValue(InstanceZonesDataManager.currentCardId, out Dictionary<int, List<PassivitySkillCfg>> cfgs))
+            // {
+            //     return;
+            // }
+            PassivitySkillCfg[] skillCfgs = PassivitySkillCfgArray.Instance.GetCfgs(InstanceZonesDataManager.currentCardId);
+            if (skillCfgs.Length == 0) return;
+
+            for (int i = 0; i < skillCfgs.Length; i++)
             {
+                PassivitySkillCfg skillCfg = skillCfgs[i];
+                int skillLv = SkillDataManager.Instance.GetSkillLv(InstanceZonesDataManager.currentCardId, skillCfg.skillId);
+                PassivitySkillLvlCfg skillLvCfg = PassivitySkillLvlCfgArray.Instance.GetCfg(skillLv, skillCfg.skillId);
+                // int skillLv = SkillDataManager.Instance.GetSkillLv(InstanceZonesDataManager.currentCardId, cfg.skillId);
 
-                if (cfgs.Count == 0) break;
-                SkillData skillData = SkillDataManager.Instance.GetSkillData(InstanceZonesDataManager.currentCardId, key);
-
-                PassivitySkillCfg cfg = cfgs[key][skillData.lv - 1];
-                if (partId == cfg.subTypes || cfg.subTypes == 0)
+                if (partId == skillCfg.subTypes || skillCfg.subTypes == 0)
                 {
-                    int isProbability = Random.Range(0, 100) < cfg.probability ? 1 : 0;
-                    if (showCard != true && cfg.mainSkill == 1 && isProbability == 1)
+                    int isProbability = Random.Range(0, 100) < skillLvCfg.probability ? 1 : 0;
+                    if (showCard != true && skillCfg.mainSkill == 1 && isProbability == 1)
                     {
                         //卡牌中包含主技能且此技能被触发,在评分阶段才展示卡牌效果,一张卡牌只要有一个技能需要显示,那就直接显示
                         showCard = true;
                     }
                     // Debug.Log(" i:" + i + "   cardScore:" + skillScore);
-                    skillScore += mainScore * cfg.count / 100 * isProbability;
+                    skillScore += mainScore * skillLvCfg.count / 100 * isProbability;
                 }
             }
         }
@@ -191,24 +193,25 @@ namespace GFGGame
 
 
         /// <summary>
-        /// 根据卡牌Id获取选卡界面显示配置
+        /// 根据卡牌Id获取 战斗选卡 界面显示配置
         /// </summary>
         /// <param name="cardId"></param>
         /// <returns></returns>
         public PassivitySkillCfg GetShowSkillCfg(int cardId)
         {
-            if (!SkillDataManager.Instance.dicPassivitySkill.ContainsKey(cardId))
+            PassivitySkillCfg[] skillCfgs = PassivitySkillCfgArray.Instance.GetCfgs(cardId);
+            if (skillCfgs.Length <= 0)
             {
                 Debug.LogWarning(cardId + " 这张卡片没有配置技能");
                 return null;
             }
-            Dictionary<int, List<PassivitySkillCfg>> cfgs = SkillDataManager.Instance.dicPassivitySkill[cardId];
-            foreach (int key in cfgs.Keys)
+
+            for (int i = 0; i < skillCfgs.Length; i++)
             {
-                if (cfgs[key][0].showSkill == 1)
+                if (skillCfgs[i].showSkill == 1)
                 {
-                    SkillData skillData = SkillDataManager.Instance.GetSkillData(cardId, cfgs[key][0].skillId);
-                    return cfgs[key][skillData.lv - 1];
+                    // int skillLv = SkillDataManager.Instance.GetSkillLv(cardId, skillCfgs[i].skillId);
+                    return skillCfgs[i];
                 }
             }
             return null;
@@ -222,19 +225,24 @@ namespace GFGGame
         /// <returns></returns>
         public PassivitySkillCfg GetMainSkillCfg(int cardId)
         {
-            Dictionary<int, List<PassivitySkillCfg>> cfgs = SkillDataManager.Instance.dicPassivitySkill[cardId];
+            // Dictionary<int, List<PassivitySkillCfg>> cfgs = SkillDataManager.Instance.dicPassivitySkill[cardId];
+            PassivitySkillCfg[] skillCfgs = PassivitySkillCfgArray.Instance.GetCfgs(cardId);
 
-            if (cfgs.Count == 0)
+            if (skillCfgs.Length <= 0)
             {
                 Debug.LogWarning(cardId + " 这张卡片没有配置技能");
                 return null;
             }
-            foreach (int key in cfgs.Keys)
+            // foreach (int key in cfgs.Keys)
+            // {
+            for (int i = 0; i < skillCfgs.Length; i++)
             {
-                if (cfgs[key][0].mainSkill == 1)
+                if (skillCfgs[i].mainSkill == 1)
                 {
-                    SkillData skillData = SkillDataManager.Instance.GetSkillData(cardId, key);
-                    return cfgs[key][skillData.lv - 1];
+                    // int skillLV = SkillDataManager.Instance.GetSkillLv(cardId, skillCfgs[i].skillId);
+                    // PassivitySkillLvlCfgArray skillLvCfg = PassivitySkillLvlCfgArray.Instance.GetCfg(skillLV, skillCfgs[i].skillId);
+                    // return cfgs[key][skillLV - 1];
+                    return skillCfgs[i];
                 }
             }
             return null;

+ 45 - 59
GameClient/Assets/Game/HotUpdate/Data/SkillDataManager.cs

@@ -12,66 +12,36 @@ namespace GFGGame
         public const string SKILL_BREAK = "break";
         public const string SKILL_SHIELD = "shield";
 
-        public Dictionary<int, Dictionary<int, SkillData>> skillData = new Dictionary<int, Dictionary<int, SkillData>>();
-        public Dictionary<int, Dictionary<int, List<PassivitySkillCfg>>> dicPassivitySkill = new Dictionary<int, Dictionary<int, List<PassivitySkillCfg>>>();
+        public Dictionary<int, Dictionary<int, int>> skillData = new Dictionary<int, Dictionary<int, int>>();
+        // public Dictionary<int, Dictionary<int, List<PassivitySkillCfg>>> dicPassivitySkill = new Dictionary<int, Dictionary<int, List<PassivitySkillCfg>>>();
 
         public void Clear()
         {
             skillData.Clear();
         }
-        public void InitServerData(List<SkillData> skillDatas)
+        public void InitServerData(int cardId, List<int> skillIds, List<int> skillLvs)
         {
-            skillData.Clear();
-            if (skillDatas != null && skillDatas.Count > 0)
-            {
-                foreach (SkillData skillData in skillDatas)
-                {
-                    if (!this.skillData.ContainsKey(skillData.cardId))
-                    {
-                        this.skillData[skillData.cardId] = new Dictionary<int, SkillData>();
-                    }
 
-                    this.skillData[skillData.cardId][skillData.skillId] = skillData;
-                }
-            }
-        }
-        public void SetDicPassivitySkillCfg()
-        {
-            if (dicPassivitySkill.Count > 0) return;
-            PassivitySkillCfg[] dataArray = PassivitySkillCfgArray.Instance.dataArray;
-            for (int i = 0; i < dataArray.Length; i++)
-            {
-                if (!dicPassivitySkill.ContainsKey(dataArray[i].cardId))
-                {
-                    dicPassivitySkill[dataArray[i].cardId] = new Dictionary<int, List<PassivitySkillCfg>>();
-                }
-                PassivitySkillCfg passivitySkillCfgs = dataArray[i];
 
-                if (!dicPassivitySkill[passivitySkillCfgs.cardId].ContainsKey(passivitySkillCfgs.skillId))
-                {
-                    dicPassivitySkill[passivitySkillCfgs.cardId][passivitySkillCfgs.skillId] = new List<PassivitySkillCfg>();
-                }
-                dicPassivitySkill[passivitySkillCfgs.cardId][passivitySkillCfgs.skillId].Add(passivitySkillCfgs);
-            }
-        }
-        public void UpSkill(int cardId, int skillId)
-        {
             if (!this.skillData.ContainsKey(cardId))
             {
-                this.skillData[cardId] = new Dictionary<int, SkillData>();
+                this.skillData[cardId] = new Dictionary<int, int>();
             }
-            if (!this.skillData[cardId].ContainsKey(skillId))
+            for (int i = 0; i < skillIds.Count; i++)
             {
-                SkillData skillData = new SkillData();
-                skillData.cardId = cardId;
-                skillData.skillId = skillId;
-                skillData.lv = 1;
-                this.skillData[cardId][skillId] = skillData;
+                UpdateSkill(cardId, skillIds[i], skillLvs[i]);
             }
-            skillData[cardId][skillId].lv += 1;
-            EventAgent.DispatchEvent(ConstMessage.CARD_UP_SKILL);
+        }
+        public void UpdateSkill(int cardId, int skillId, int skillLv)
+        {
+            this.skillData[cardId][skillId] = skillLv;
         }
 
+        // public void UpSkill(int cardId, int skillId)
+        // {
+        //     CardSProxy.UpgradeCardSkill(cardId, skillId).Coroutine();
+        // }
+
         //获取npc释放技能顺序
         public Dictionary<int, RoleSkillCfg> GetNpcSkill()
         {
@@ -87,26 +57,42 @@ namespace GFGGame
             return npcSkillDic;
         }
 
-        public SkillData GetSkillData(int cardId, int skillId)
+        public int GetSkillLv(int cardId, int skillId)
         {
-            SkillData skillData;
-            if (SkillDataManager.Instance.skillData.ContainsKey(cardId) && SkillDataManager.Instance.skillData[cardId].ContainsKey(skillId))
-            {
-                skillData = SkillDataManager.Instance.skillData[cardId][skillId];
-            }
-            else
+            // SkillData skillData;
+            // if (SkillDataManager.Instance.skillData.ContainsKey(cardId) && SkillDataManager.Instance.skillData[cardId].ContainsKey(skillId))
+            // {
+            //     skillData = SkillDataManager.Instance.skillData[cardId][skillId];
+            // }
+            // else
+            // {
+            //     skillData = new SkillData();
+            //     skillData.cardId = cardId;
+            //     skillData.skillId = skillId;
+            //     skillData.lv = 1;
+            // }
+            // return skillData;
+
+            int lv = 1;
+            if (this.skillData.ContainsKey(cardId) && this.skillData[cardId].ContainsKey(skillId))
             {
-                skillData = new SkillData();
-                skillData.cardId = cardId;
-                skillData.skillId = skillId;
-                skillData.lv = 1;
+                lv = this.skillData[cardId][skillId];
             }
-            return skillData;
+            return lv;
         }
 
-        public PassivitySkillCfg GetPassivitySkillCfg(int cardId, int skillId, int lv)
+        public PassivitySkillCfg GetPassivitySkillCfg(int cardId, int skillId)
         {
-            return dicPassivitySkill[cardId][skillId][lv - 1];
+            PassivitySkillCfg[] cfgs = PassivitySkillCfgArray.Instance.GetCfgs(cardId);
+            for (int i = 0; i < cfgs.Length; i++)
+            {
+                if (cfgs[i].skillId == skillId) return cfgs[i];
+            }
+            return null;
         }
+        // public PassivitySkillLvlCfg GetPassivitySkillLvlCfg(int skillId, int lv)
+        // {
+        //     return PassivitySkillLvlCfgArray.Instance.GetCfg(lv, skillId);
+        // }
     }
 }

+ 89 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/CardSProxy.cs

@@ -0,0 +1,89 @@
+using System.Collections.Generic;
+using ET;
+using GFGGame;
+
+namespace ET
+{
+    public class NoticeGetNewCard : AMHandler<M2C_GetNewCard>
+    {
+        protected override async ETTask Run(Session session, M2C_GetNewCard message)
+        {
+            CardDataManager.Add(message.CardInfo);
+            SkillDataManager.Instance.InitServerData(message.CardInfo.CardId, message.CardInfo.KsSkill, message.CardInfo.VsSkill);
+            await ETTask.CompletedTask;
+        }
+    }
+}
+namespace GFGGame
+{
+    public static class CardSProxy
+    {
+        public static async ETTask GetCardInfos()
+        {
+            M2C_GetCardInfos response = null;
+            response = (M2C_GetCardInfos)await MessageHelper.SendToServer(new C2M_GetCardInfos() { });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+                    for (int i = 0; i < response.CardInfos.Count; i++)
+                    {
+                        CardDataManager.Add(response.CardInfos[i]);
+                        SkillDataManager.Instance.InitServerData(response.CardInfos[i].CardId, response.CardInfos[i].KsSkill, response.CardInfos[i].VsSkill);
+                    }
+                }
+            }
+        }
+
+        public static async ETTask UpgradeCardLvl(int cardId, List<int> itemNums)
+        {
+            M2C_UpgradeCardLvl response = null;
+            response = (M2C_UpgradeCardLvl)await MessageHelper.SendToServer(new C2M_UpgradeCardLvl() { CardId = cardId, ItemNums = itemNums });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+
+                }
+            }
+        }
+        public static async ETTask UpgradeCardStar(int cardId)
+        {
+            M2C_UpgradeCardStar response = null;
+            response = (M2C_UpgradeCardStar)await MessageHelper.SendToServer(new C2M_UpgradeCardStar() { CardId = cardId });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+
+                }
+            }
+        }
+        //resIndex:0默认,1特殊
+        public static async ETTask ChangeCardLvl(int cardId, int resIndex)
+        {
+            M2C_ChangeCardLvl response = null;
+            response = (M2C_ChangeCardLvl)await MessageHelper.SendToServer(new C2M_ChangeCardLvl() { CardId = cardId, ResIndex = resIndex });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+
+                }
+            }
+        }
+        public static async ETTask UpgradeCardSkill(int cardId, int skillId)
+        {
+            M2C_UpgradeCardSkill response = null;
+            response = (M2C_UpgradeCardSkill)await MessageHelper.SendToServer(new C2M_UpgradeCardSkill() { CardId = cardId, SkillId = skillId });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+                    SkillDataManager.Instance.UpdateSkill(response.CardId, response.SkillId, response.SkillLvl);
+                    EventAgent.DispatchEvent(ConstMessage.CARD_UP_SKILL);
+                }
+            }
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/CardSProxy.cs.meta

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

+ 1 - 1
GameClient/Assets/Game/HotUpdate/ServerProxy/ItemExchangeSProxy.cs

@@ -13,7 +13,7 @@ namespace GFGGame
                 if (response.Error == ErrorCode.ERR_Success)
                 {
                     ItemDataManager.InitItemExchange(response.ItemId, response.ExchangedTimes);
-                    EventAgent.DispatchEvent(ConstMessage.SHOP_BUY);
+                    // EventAgent.DispatchEvent(ConstMessage.SHOP_BUY);
                     return true;
                 }
             }

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

@@ -12,8 +12,7 @@ namespace GFGGame
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
-
-                    EventAgent.DispatchEvent(ConstMessage.SHOP_BUY);
+                    // EventAgent.DispatchEvent(ConstMessage.SHOP_BUY);
                     return true;
                 }
             }

+ 1 - 1
GameClient/Assets/Game/HotUpdate/ServerProxy/StudioSProxy.cs

@@ -34,7 +34,7 @@ namespace GFGGame
                         StudioData studioData = new StudioData { ChapterId = response.infos[i].ChapterId, BuyTimes = response.infos[i].BuyTimes, PlayTimes = response.infos[i].PlayTimes, TotalPlayTimes = response.infos[i].TotalPlayTimes };
                         StudioDataManager.Instance.RspStudioInfos(studioData);
                     }
-                    EventAgent.DispatchEvent(ConstMessage.GET_STUDIO_INFO);
+                    // EventAgent.DispatchEvent(ConstMessage.GET_STUDIO_INFO);
                 }
             }
         }

+ 63 - 60
GameClient/Assets/Game/HotUpdate/Views/Card/CardFosterView.cs

@@ -15,7 +15,7 @@ namespace GFGGame
         private UI_CardFosterUI _ui;
         private UI_ComFosterBottom _comFosterBottom;
         private ValueBarController _valueBarController;
-        private CardData _viewData = new CardData();
+        private CardData _cardData = new CardData();
         private int _selectTab = 0;
 
         private GameObject _cardObj;
@@ -110,31 +110,31 @@ namespace GFGGame
 
         private void UpdateNormal()
         {
-            _comFosterBottom.m_txtName.text = _viewData.itemCfg.name;
-            _comFosterBottom.m_btnStory.visible = CardCfgManager.GetStoryCfgsById(_viewData.id).Count > 0 ? true : false;
+            _comFosterBottom.m_txtName.text = _cardData.itemCfg.name;
+            _comFosterBottom.m_btnStory.visible = CardCfgManager.GetStoryCfgsById(_cardData.id).Count > 0 ? true : false;
             _comFosterBottom.m_btnUpLv.grayed = true;
-            _comFosterBottom.m_loaRarity.url = ResPathUtil.GetCommonGameResPath("kp_sx_da_" + (5 - _viewData.itemCfg.rarity));
+            _comFosterBottom.m_loaRarity.url = ResPathUtil.GetCommonGameResPath("kp_sx_da_" + (5 - _cardData.itemCfg.rarity));
             _valueBarController = new ValueBarController(_ui.m_ComFosterTop.m_comValueBar, 5);
             _valueBarController.OnShown();
 
         }
         private void UpdateCommon()
         {
-            _viewData = CardDataManager.GetCardDataById((this.viewData as CardData).id);
-            _comFosterBottom.m_listProperty.numItems = _viewData.scores.Count;
+            _cardData = CardDataManager.GetCardDataById((this.viewData as CardData).id);
+            _comFosterBottom.m_listProperty.numItems = _cardData.scores.Count;
             _comFosterBottom.m_ComLvConsumeGold.m_txtCount.text = "0";
 
         }
         private void UpdateCardRes()
         {
-            List<CardStarCfg> cardStarCfgs = CardCfgManager.GetCardStarCfgsByTypeAndRarity(_viewData.itemCfg.subType, _viewData.itemCfg.rarity);
+            List<CardStarCfg> cardStarCfgs = CardCfgManager.GetCardStarCfgsByTypeAndRarity(_cardData.itemCfg.subType, _cardData.itemCfg.rarity);
 
-            if (_viewData.res == _viewData.itemCfg.res || _viewData.star < cardStarCfgs.Count)
+            if (_cardData.res == _cardData.itemCfg.res || _cardData.star < cardStarCfgs.Count)
             {
                 _ui.m_comCard.target.visible = false;
                 _ui.m_loaCard.visible = true;
                 _ui.m_loaListener.visible = false;
-                _ui.m_loaCard.url = ResPathUtil.GetCardPath(_viewData.res);
+                _ui.m_loaCard.url = ResPathUtil.GetCardPath(_cardData.res);
                 _ui.m_loaCard.width = _ui.m_loaCard.image.width;
 
 
@@ -151,7 +151,7 @@ namespace GFGGame
                     GameObject.Destroy(_cardObj);
                     _cardObj = null;
                 }
-                string resPath = ResPathUtil.GetCardAnimationPath(_viewData.res);
+                string resPath = ResPathUtil.GetCardAnimationPath(_cardData.res);
                 _cardObj = DressUpUtil.AddAnimationObj(resPath);
                 _cardObj.transform.localScale = new Vector3(scale, scale, scale);
                 if (_wrapper == null)
@@ -173,7 +173,7 @@ namespace GFGGame
         {
             UI_ListPropertyItem listItem = UI_ListPropertyItem.Proxy(obj);
 
-            listItem.m_txtProperty.text = _viewData.scores[index + 1].ToString();
+            listItem.m_txtProperty.text = _cardData.scores[index + 1].ToString();
             listItem.m_loaIcon.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + (index + 1));
             UI_ListPropertyItem.ProxyEnd();
         }
@@ -181,35 +181,35 @@ namespace GFGGame
         /***********************************************************升级***************************************************/
         private void UpdateUpLvView(bool isPreview = false, int lv = 0, int exp = 0)
         {
-            _showLv = isPreview == true ? lv : _viewData.lv;
-            _showExp = isPreview == true ? exp : _viewData.exp;
-            CardLvlCfg cardLvCfg = CardCfgManager.GetCardLvCfgByRarityAndLv(_viewData.itemCfg.rarity, _showLv);
+            _showLv = isPreview == true ? lv : _cardData.lv;
+            _showExp = isPreview == true ? exp : _cardData.exp;
+            CardLvlCfg cardLvCfg = CardCfgManager.GetCardLvCfgByRarityAndLv(_cardData.itemCfg.rarity, _showLv);
 
             _comFosterBottom.m_barLv.max = cardLvCfg.needExp;
             _comFosterBottom.m_barLv.value = _showExp;
 
-            _comFosterBottom.m_txtMaxLv.text = (CardCfgManager.GetCardLvCfgsByRarity(_viewData.itemCfg.rarity).Count - 1).ToString();
+            _comFosterBottom.m_txtMaxLv.text = (CardCfgManager.GetCardLvCfgsByRarity(_cardData.itemCfg.rarity).Count - 1).ToString();
             _comFosterBottom.m_txtCurLv.text = StringUtil.GetColorText(_showLv.ToString(), _showLv < int.Parse(_comFosterBottom.m_txtMaxLv.text) ? "#D27869" : "#7D6956");
             _comFosterBottom.m_txtMaxExp.text = cardLvCfg.needExp.ToString();
             _comFosterBottom.m_txtCurExp.text = _showExp.ToString();
 
             _comFosterBottom.m_btnUpLv.grayed = _comFosterBottom.m_ComLvConsumeGold.m_txtCount.text == "0" ? true : false;
 
-            _comFosterBottom.m_ctrlFullLv.selectedIndex = CardDataManager.isFullLv(_viewData.id, _viewData.lv, false) ? 1 : 0;
+            _comFosterBottom.m_ctrlFullLv.selectedIndex = CardDataManager.isFullLv(_cardData.id, _cardData.lv, false) ? 1 : 0;
 
             if (isPreview == true)
             {
                 return;
             }
-            _comFosterBottom.m_listLvConsume.numItems = GlobalCfgArray.globalCfg.materiarsArr.Length;
+            _comFosterBottom.m_listLvConsume.numItems = GlobalCfgArray.globalCfg.upgradeCardItemsArr.Length;
 
         }
 
         private void RenderListLvConsumeItem(int index, GObject obj)
         {
             UI_ComConsume listItem = UI_ComConsume.Proxy(obj);
-            CardLvlCfg cardLvCfg = CardCfgManager.GetCardLvCfgByRarityAndLv(_viewData.itemCfg.rarity, _viewData.lv);
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.materiarsArr[index]);
+            CardLvlCfg cardLvCfg = CardCfgManager.GetCardLvCfgByRarityAndLv(_cardData.itemCfg.rarity, _cardData.lv);
+            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();
             listItem.m_txtUseCount.text = "0";
@@ -300,7 +300,7 @@ namespace GFGGame
 
                 return false;
             }
-            if (_showLv == (CardCfgManager.GetCardLvCfgsByRarity(_viewData.itemCfg.rarity).Count - 1) && _comFosterBottom.m_barLv.max == _comFosterBottom.m_barLv.value)
+            if (_showLv == (CardCfgManager.GetCardLvCfgsByRarity(_cardData.itemCfg.rarity).Count - 1) && _comFosterBottom.m_barLv.max == _comFosterBottom.m_barLv.value)
             {
                 Timers.inst.Remove(OnTimedEvent);
 
@@ -351,7 +351,7 @@ namespace GFGGame
 
             int previewLv = 0;
             int previewExp = 0;
-            CardDataManager.GetPreViewLvAndExp(_viewData.itemCfg.rarity, _viewData.lv, _viewData.exp, hasExp, out previewLv, out previewExp);
+            CardDataManager.GetPreViewLvAndExp(_cardData.itemCfg.rarity, _cardData.lv, _cardData.exp, hasExp, out previewLv, out previewExp);
             this.UpdateUpLvView(true, previewLv, previewExp);
         }
         private void OnClcikBtnAll()
@@ -409,17 +409,17 @@ namespace GFGGame
             }
 
 
-            if (CardDataManager.isFullLv(_viewData.id, _viewData.lv) == false)
+            if (CardDataManager.isFullLv(_cardData.id, _cardData.lv) == false)
             {
-                int lv = _viewData.lv;
-                CardDataManager.UpCardLv(_viewData.id, _showLv, _showExp);
+                int lv = _cardData.lv;
+                CardDataManager.UpCardLv(_cardData.id, _showLv, _showExp);
                 this.UpdateCommon();
                 this.UpdateUpLvView();
 
                 if (_showLv - lv >= 1)
                 {
                     this._selectTab = _comFosterBottom.m_ctrlTab.selectedIndex;
-                    ViewManager.Show(ViewName.CARD_UP_VIEW, new object[] { _viewData.scores, "lv", lv, _showLv }, new object[] { ViewName.CARD_FOSTER_VIEW, this.viewData });
+                    ViewManager.Show(ViewName.CARD_UP_VIEW, new object[] { _cardData.scores, "lv", lv, _showLv }, new object[] { ViewName.CARD_FOSTER_VIEW, this.viewData });
                 }
             }
         }
@@ -429,17 +429,17 @@ namespace GFGGame
 
         private void UpdateUpStarView()
         {
-            List<CardStarCfg> cardStarCfgs = CardCfgManager.GetCardStarCfgsByTypeAndRarity(_viewData.itemCfg.subType, _viewData.itemCfg.rarity);
-            CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_viewData.itemCfg.subType, _viewData.itemCfg.rarity, _viewData.star);
+            List<CardStarCfg> cardStarCfgs = CardCfgManager.GetCardStarCfgsByTypeAndRarity(_cardData.itemCfg.subType, _cardData.itemCfg.rarity);
+            CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
 
-            _comFosterBottom.m_comStar.m_c1.selectedIndex = _viewData.star;
+            _comFosterBottom.m_comStar.m_c1.selectedIndex = _cardData.star;
             _comFosterBottom.m_comStar.m_c2.selectedIndex = cardStarCfgs.Count;
-            if (CardDataManager.isFullStar(_viewData.id, _viewData.star, false))
+            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 = _viewData.resources;
-                _comFosterBottom.m_listShowCard.numItems = CardCfgManager.GetCardShowCountByIdAndTypeAndRarity(_viewData.id, _viewData.itemCfg.subType, _viewData.itemCfg.rarity);
+                _comFosterBottom.m_listShowCard.data = _cardData.resources;
+                _comFosterBottom.m_listShowCard.numItems = CardCfgManager.GetCardShowCountByIdAndTypeAndRarity(_cardData.id, _cardData.itemCfg.subType, _cardData.itemCfg.rarity);
                 return;
             }
             else
@@ -455,7 +455,7 @@ namespace GFGGame
                 _comFosterBottom.m_listStarConsume.data = cardStarCfg;
                 _comFosterBottom.m_listStarConsume.numItems = cardStarCfg.materiarsArr.Length;
 
-                _comFosterBottom.m_comTips.visible = _viewData.lv < cardStarCfg.needLv ? true : false;
+                _comFosterBottom.m_comTips.visible = _cardData.lv < cardStarCfg.needLv ? true : false;
                 UI_ComTips comTips = UI_ComTips.Proxy(_comFosterBottom.m_comTips);
                 comTips.m_txtTips.text = _comFosterBottom.m_comTips.visible == true ? string.Format("需等级达到{0}级", cardStarCfg.needLv) : "";
 
@@ -499,14 +499,14 @@ 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 == _viewData.res) { _comFosterBottom.m_listShowCard.selectedIndex = index; }
+            if (res == _cardData.res) { _comFosterBottom.m_listShowCard.selectedIndex = index; }
             loaStarCard.url = ResPathUtil.GetCardSmallPath(res);
             listItem.data = res;
         }
 
         private void OnClickShowCardListItem(EventContext context)
         {
-            CardDataManager.SetShowCard(_viewData.id, (string)((context.data as GButton).data));
+            CardDataManager.SetShowCard(_cardData.id, (string)((context.data as GButton).data));
             this.UpdateCommon();
             this.UpdateCardRes();
         }
@@ -520,14 +520,14 @@ namespace GFGGame
         private void OnClickBtnUpStar()
         {
 
-            CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_viewData.itemCfg.subType, _viewData.itemCfg.rarity, _viewData.star);
+            CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
 
-            if (_viewData.lv < cardStarCfg.needLv)
+            if (_cardData.lv < cardStarCfg.needLv)
             {
                 PromptController.Instance.ShowFloatTextPrompt("等级不足");
                 return;
             }
-            if (CardDataManager.isFullStar(_viewData.id, _viewData.star) == true)
+            if (CardDataManager.isFullStar(_cardData.id, _cardData.star) == true)
             {
                 return;
             }
@@ -553,7 +553,7 @@ namespace GFGGame
         }
         private void UpStar()
         {
-            CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_viewData.itemCfg.subType, _viewData.itemCfg.rarity, _viewData.star);
+            CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
 
             int costNeed = cardStarCfg.costNum;
             ItemDataManager.Remove(cardStarCfg.costID, costNeed);
@@ -565,41 +565,44 @@ namespace GFGGame
                 int itemNum = cardStarCfg.materiarsArr[i][1];// int.Parse(listItem.m_txtNeedCount.text);
                 ItemDataManager.Remove(itemId, itemNum);
             }
-            CardDataManager.UpCardStar(_viewData.id);
+            CardDataManager.UpCardStar(_cardData.id);
             this.UpdateCommon();
             this.UpdateUpStarView();
 
             this._selectTab = _comFosterBottom.m_ctrlTab.selectedIndex;
-            ViewManager.Show(ViewName.CARD_UP_VIEW, new object[] { _viewData.scores, "star", _viewData.star - 1, _viewData.star }, new object[] { ViewName.CARD_FOSTER_VIEW, this.viewData });
+            ViewManager.Show(ViewName.CARD_UP_VIEW, new object[] { _cardData.scores, "star", _cardData.star - 1, _cardData.star }, new object[] { ViewName.CARD_FOSTER_VIEW, this.viewData });
 
         }
         /***********************************************************升技能***************************************************/
 
         private void UpdateUpSkillView()
         {
-            if (_comFosterBottom.m_listSkill.data == null)
-            {
-                _comFosterBottom.m_listSkill.data = new List<int>(SkillDataManager.Instance.dicPassivitySkill[_viewData.id].Keys);
-            }
-            _comFosterBottom.m_listSkill.numItems = SkillDataManager.Instance.dicPassivitySkill[_viewData.id].Keys.Count;
+            // if (_comFosterBottom.m_listSkill.data == null)
+            // {
+            //     _comFosterBottom.m_listSkill.data = PassivitySkillCfgArray.Instance.GetCfgs(_cardData.id);// new List<int>(ScardDataManager.Instance.dicPassivitySkill[_viewData.id].Keys);
+            // }
+            _comFosterBottom.m_listSkill.numItems = PassivitySkillCfgArray.Instance.GetCfgs(_cardData.id).Length;// SkillDataManager.Instance.dicPassivitySkill[_cardData.id].Keys.Count;
         }
 
         private void RenderListSkilItem(int index, GObject obj)
         {
             UI_ListSkillItem item = UI_ListSkillItem.Proxy(obj);
 
-            int skillId = (_comFosterBottom.m_listSkill.data as List<int>)[index];
-            SkillData skillData = SkillDataManager.Instance.GetSkillData(_viewData.id, skillId);
-            List<PassivitySkillCfg> skillScoreCfgs = SkillDataManager.Instance.dicPassivitySkill[_viewData.id][skillId];
-            item.m_comSkill.m_loaSkill.url = ResPathUtil.GetCardSmallPath(skillScoreCfgs[0].res);
-            item.m_txtName.text = skillScoreCfgs[0].name;
-            item.m_txtLv.text = string.Format("{0}级", skillData.lv);
-            item.m_btnUp.visible = skillData.lv == skillScoreCfgs.Count ? false : true;
+            PassivitySkillCfg skillCfg = PassivitySkillCfgArray.Instance.GetCfgs(_cardData.id)[index];
+            // int skillId = (_comFosterBottom.m_listSkill.data as List<int>)[index];
+            int skillLv = SkillDataManager.Instance.GetSkillLv(_cardData.id, skillCfg.skillId);
+            // List<PassivitySkillCfg> skillScoreCfgs = SkillDataManager.Instance.dicPassivitySkill[_cardData.id][skillId];
+            item.m_comSkill.m_loaSkill.url = ResPathUtil.GetCardSmallPath(skillCfg.res);
+            item.m_txtName.text = skillCfg.name;
+            item.m_txtLv.text = string.Format("{0}级", skillLv);
+
+            // item.m_btnUp.visible = skillLv == skillScoreCfgs.Count ? false : true;
+
             if (item.m_btnUp.data == null)
             {
                 item.m_btnUp.onClick.Add(() =>
                 {
-                    ViewManager.Show<CardSkillView>(new object[] { _viewData.id, skillId });
+                    ViewManager.Show<CardSkillView>(new object[] { _cardData.id, skillCfg.skillId });
                 });
             }
         }
@@ -613,7 +616,7 @@ namespace GFGGame
 
             _ui.m_t0.Play(() =>
             {
-                ViewManager.Show(ViewName.CARD_SHOW_VIEW, _viewData, new object[] { ViewName.CARD_FOSTER_VIEW, this.viewData });
+                ViewManager.Show(ViewName.CARD_SHOW_VIEW, _cardData, new object[] { ViewName.CARD_FOSTER_VIEW, this.viewData });
 
             });
         }
@@ -646,7 +649,7 @@ namespace GFGGame
         }
         private void OnClickBtnStroy()
         {
-            ViewManager.Show(ViewName.CARD_STORY_VIEW, _viewData);
+            ViewManager.Show(ViewName.CARD_STORY_VIEW, _cardData);
         }
 
         private void OnChangeCtrlTab()
@@ -667,14 +670,14 @@ namespace GFGGame
         }
         private void OnItemChangeListener()
         {
-            if (!CardDataManager.isFullLv(_viewData.id, _viewData.lv, false))
+            if (!CardDataManager.isFullLv(_cardData.id, _cardData.lv, false))
             {
-                CardLvlCfg cardLvCfg = CardCfgManager.GetCardLvCfgByRarityAndLv(_viewData.itemCfg.rarity, _showLv);
-                _comFosterBottom.m_listLvConsume.numItems = GlobalCfgArray.globalCfg.materiarsArr.Length;
+                CardLvlCfg cardLvCfg = CardCfgManager.GetCardLvCfgByRarityAndLv(_cardData.itemCfg.rarity, _showLv);
+                _comFosterBottom.m_listLvConsume.numItems = GlobalCfgArray.globalCfg.upgradeCardItemsArr.Length;
             }
-            if (!CardDataManager.isFullStar(_viewData.id, _viewData.star, false))
+            if (!CardDataManager.isFullStar(_cardData.id, _cardData.star, false))
             {
-                CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_viewData.itemCfg.subType, _viewData.itemCfg.rarity, _viewData.star);
+                CardStarCfg cardStarCfg = CardCfgManager.GetCardStarCfgByTypeAndRarityAndStar(_cardData.itemCfg.subType, _cardData.itemCfg.rarity, _cardData.star);
                 _comFosterBottom.m_listStarConsume.numItems = cardStarCfg.materiarsArr.Length;
 
             }

+ 41 - 35
GameClient/Assets/Game/HotUpdate/Views/Card/CardSkillView.cs

@@ -8,8 +8,10 @@ namespace GFGGame
         // private PassivitySkillCfg _viewData;
         private int _cardId;
         private int _skillId;
+        private int _skillLv;
 
-        private PassivitySkillCfg passivitySkillCfg;
+        private PassivitySkillCfg skillCfg;
+        private PassivitySkillLvlCfg skillLvCfg;
         public override void Dispose()
         {
             base.Dispose();
@@ -36,12 +38,14 @@ namespace GFGGame
 
             _cardId = (int)(viewData as object[])[0];
             _skillId = (int)(viewData as object[])[1];
+            _skillLv = SkillDataManager.Instance.GetSkillLv(_cardId, _skillId);
 
-            SkillData skillData = SkillDataManager.Instance.GetSkillData(_cardId, _skillId);
-            passivitySkillCfg = SkillDataManager.Instance.GetPassivitySkillCfg(_cardId, _skillId, skillData.lv);
+            // SkillData skillData = SkillDataManager.Instance.GetSkillLv(_cardId, _skillId);
+            skillCfg = PassivitySkillCfgArray.Instance.GetCfg(_skillId);// SkillDataManager.Instance.GetPassivitySkillCfg(_cardId, _skillId);
+            skillLvCfg = PassivitySkillLvlCfgArray.Instance.GetCfg(_skillLv, _skillId);
 
-            _ui.m_txtName.text = passivitySkillCfg.name;
-            _ui.m_comSkill.m_loaSkill.url = ResPathUtil.GetCardSmallPath(passivitySkillCfg.res);
+            _ui.m_txtName.text = skillCfg.name;
+            _ui.m_comSkill.m_loaSkill.url = ResPathUtil.GetCardSmallPath(skillCfg.res);
 
             UpdateView();
         }
@@ -49,23 +53,24 @@ namespace GFGGame
         {
             _ui.m_c1.selectedIndex = 0;
 
-            SkillData skillData = SkillDataManager.Instance.GetSkillData(_cardId, _skillId);
-            int lv = skillData == null ? 1 : skillData.lv;
-            UpdateComLv(_ui.m_comCurLV, lv, lv + "级");
-            if (skillData != null && skillData.lv == SkillDataManager.Instance.dicPassivitySkill[_cardId][_skillId].Count) //已满级
-            {
-                _ui.m_c1.selectedIndex = 1;
-                return;
-            }
-            _ui.m_comConsume.m_txtCount.text = passivitySkillCfg.costNum.ToString();
-            UpdateComLv(_ui.m_comNextLv, lv + 1, "下一级");
-            _ui.m_listConsume.numItems = passivitySkillCfg.materiarsArr.Length;
+            int skillLv = SkillDataManager.Instance.GetSkillLv(_cardId, _skillId);
+            UpdateComLv(_ui.m_comCurLV, skillLv, skillLv + "级");
+
+            // if (skillLv == SkillDataManager.Instance.dicPassivitySkill[_cardId][_skillId].Count) //已满级
+            // {
+            //     _ui.m_c1.selectedIndex = 1;
+            //     return;
+            // }
+
+            _ui.m_comConsume.m_txtCount.text = skillLvCfg.costNum.ToString();
+            UpdateComLv(_ui.m_comNextLv, skillLv + 1, "下一级");
+            _ui.m_listConsume.numItems = skillLvCfg.materiarsArr.Length;
 
         }
         private void UpdateComLv(UI_ComSkillDiscribe com, int lv, string title)
         {
             com.m_txtLv.text = title;
-            com.m_txtDiscribe.text = SkillDataManager.Instance.GetPassivitySkillCfg(_cardId, _skillId, lv).describe;
+            com.m_txtDiscribe.text = string.Format(skillCfg.describe, skillLvCfg.probability, skillLvCfg.count);//  SkillDataManager.Instance.GetPassivitySkillCfg(_cardId, _skillId, lv).describe;
 
 
         }
@@ -73,15 +78,15 @@ namespace GFGGame
         {
 
             UI_ComStarConsume listItem = UI_ComStarConsume.Proxy(obj);
-            SkillData skillData = SkillDataManager.Instance.GetSkillData(_cardId, _skillId);
-            passivitySkillCfg = SkillDataManager.Instance.GetPassivitySkillCfg(_cardId, _skillId, skillData.lv);
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(passivitySkillCfg.materiarsArr[index][0]);
+            // int skillLv = SkillDataManager.Instance.GetSkillLv(_cardId, _skillId);
+            // skillCfg = SkillDataManager.Instance.GetPassivitySkillCfg(_cardId, _skillId, skillLv);
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(skillLvCfg.materiarsArr[index][0]);
 
-            listItem.target.data = passivitySkillCfg.materiarsArr[index][0];
+            listItem.target.data = skillLvCfg.materiarsArr[index][0];
             listItem.m_loaItem.url = ResPathUtil.GetIconPath(itemCfg);
 
-            int needCount = passivitySkillCfg.materiarsArr[index][1];
-            int hasCount = ItemDataManager.GetItemNum(passivitySkillCfg.materiarsArr[index][0]);
+            int needCount = skillLvCfg.materiarsArr[index][1];
+            int hasCount = ItemDataManager.GetItemNum(skillLvCfg.materiarsArr[index][0]);
             listItem.m_txtNeedCount.text = StringUtil.GetColorText(needCount.ToString(), hasCount < needCount ? "#FCBCBA" : "#FFF8EA"); ;
             listItem.m_txtHasCount.text = hasCount.ToString();
             listItem.m_btnPlus.visible = false;
@@ -89,7 +94,7 @@ namespace GFGGame
             {
                 listItem.m_btnPlus.onClick.Add(() => OnClickBtnPlusStarConsum(index));
             }
-            listItem.m_btnPlus.data = passivitySkillCfg.materiarsArr[index][0];
+            listItem.m_btnPlus.data = skillLvCfg.materiarsArr[index][0];
 
             if (hasCount < needCount)
             {
@@ -104,17 +109,17 @@ namespace GFGGame
         }
         private void OnClickBtnUp()
         {
-            if (ItemDataManager.GetItemNum(passivitySkillCfg.costID) < passivitySkillCfg.costNum)
+            if (ItemDataManager.GetItemNum(skillLvCfg.costID) < skillLvCfg.costNum)
             {
-                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(passivitySkillCfg.costID);
+                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(skillLvCfg.costID);
                 PromptController.Instance.ShowFloatTextPrompt(itemCfg.name + "不足");
                 return;
             }
             bool isEnough = true;
-            for (int i = 0; i < passivitySkillCfg.materiarsArr.Length; i++)
+            for (int i = 0; i < skillLvCfg.materiarsArr.Length; i++)
             {
-                int needCount = passivitySkillCfg.materiarsArr[i][1];
-                int hasCount = ItemDataManager.GetItemNum(passivitySkillCfg.materiarsArr[i][0]);
+                int needCount = skillLvCfg.materiarsArr[i][1];
+                int hasCount = ItemDataManager.GetItemNum(skillLvCfg.materiarsArr[i][0]);
                 if (hasCount < needCount)
                 {
                     isEnough = false;
@@ -123,12 +128,13 @@ namespace GFGGame
                 }
             }
             if (!isEnough) return;
-            ItemDataManager.Remove(passivitySkillCfg.costID, passivitySkillCfg.costNum);
-            for (int i = 0; i < passivitySkillCfg.materiarsArr.Length; i++)
-            {
-                ItemDataManager.Remove(passivitySkillCfg.materiarsArr[i][0], passivitySkillCfg.materiarsArr[i][1]);
-            }
-            SkillDataManager.Instance.UpSkill(_cardId, _skillId);
+            // ItemDataManager.Remove(skillCfg.costID, skillCfg.costNum);
+            // for (int i = 0; i < skillCfg.materiarsArr.Length; i++)
+            // {
+            //     ItemDataManager.Remove(skillCfg.materiarsArr[i][0], skillCfg.materiarsArr[i][1]);
+            // }
+            // SkillDataManager.Instance.UpSkill(_cardId, _skillId);
+            CardSProxy.UpgradeCardSkill(_cardId, _skillId).Coroutine();
 
         }
         protected override void OnHide()