Browse Source

卡牌技能添加红点

zhaoyang 2 years ago
parent
commit
ff305b4153

+ 25 - 0
GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs

@@ -220,5 +220,30 @@ namespace GFGGame
             return RoleInfoManager.Instance.newHeadBorderDatas.Count > 0;
         }
 
+        public bool GetCardSkillsRed(int cardId)
+        {
+            List<PassivitySkillCfg> skillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardId);
+            for (int i = 0; i < skillCfgs.Count; i++)
+            {
+                if (GetCardSkillRed(skillCfgs[i].skillId)) return true;
+            }
+            return false;
+        }
+        public bool GetCardSkillRed(int skillId)
+        {
+
+            PassivitySkillCfg skillCfg = PassivitySkillCfgArray.Instance.GetCfg(skillId);
+            int skillLv = SkillDataManager.Instance.GetSkillLv(skillCfg.cardId, skillId);
+
+            PassivitySkillLvlCfg skillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLv, skillId);
+            if (skillLvlCfg.materiarsArr.Length == 0) return false;
+            int itemHas = ItemDataManager.GetItemNum(skillLvlCfg.materiarsArr[0][0]);
+            int itemNeed = skillLvlCfg.materiarsArr[0][1];
+
+            int costHas = ItemDataManager.GetItemNum(skillLvlCfg.costID);
+            int costNeed = skillLvlCfg.costNum;
+            return itemHas >= itemNeed && costHas >= costNeed;
+        }
+
     }
 }

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

@@ -51,6 +51,7 @@ namespace GFGGame
             base.AddEventListener();
             EventAgent.AddEventListener(ConstMessage.CARD_FILTER, UpdateCardList);
             EventAgent.AddEventListener(ConstMessage.CARD_INFO, UpdateCardList);
+            EventAgent.AddEventListener(ConstMessage.ITEM_CHANGED, UpdateCardList);
         }
         protected override void OnShown()
         {
@@ -76,6 +77,7 @@ namespace GFGGame
             base.RemoveEventListener();
             EventAgent.RemoveEventListener(ConstMessage.CARD_FILTER, UpdateCardList);
             EventAgent.RemoveEventListener(ConstMessage.CARD_INFO, UpdateCardList);
+            EventAgent.RemoveEventListener(ConstMessage.ITEM_CHANGED, UpdateCardList);
         }
         private void UpdateCardList()
         {
@@ -103,6 +105,7 @@ namespace GFGGame
             listItem.m_loaBorder.url = "ui://Card/kp_kuang_" + data.itemCfg.rarity;//ResPathUtil.GetCommonGameResPath("kp_sxing_x_" + data.itemCfg.rarity);
             listItem.m_txtLv.text = data.lv + "级";
             listItem.m_txtName.text = data.itemCfg.name;
+            RedDotController.Instance.SetComRedDot(listItem.target, RedDotDataManager.Instance.GetCardSkillsRed(data.id),"",10,-4);
 
             UI_ComStar comStar = UI_ComStar.Proxy(listItem.m_comStar);
             comStar.m_c1.selectedIndex = data.star;
@@ -153,7 +156,6 @@ namespace GFGGame
         }
 
 
-
         private void CheckGuide(object param)
         {
             if (GuideDataManager.IsGuideFinish(ConstGuideId.UP_CARD_LV) <= 0)

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

@@ -121,7 +121,7 @@ namespace GFGGame
             this.UpdateUpStarView();
             this.UpdateUpSkillView();
             _comFosterBottom.m_ctrlTab.selectedIndex = this._selectTab;
-
+            RedDotController.Instance.SetComRedDot(_ui.m_ComFosterBottom.m_btnSkill, RedDotDataManager.Instance.GetCardSkillsRed(_cardData.id));
 
             Timers.inst.AddUpdate(CheckGuide);
         }
@@ -644,7 +644,8 @@ namespace GFGGame
             item.m_txtName.text = skillCfg.name;
             item.m_txtLv.text = string.Format("{0}级", skillLv);
 
-            item.m_btnUp.visible = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLv + 1, skillCfg.skillId) != null;//?  skillLv == skillScoreCfgs.Count ? false : true;
+            item.m_btnUp.visible = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLv + 1, skillCfg.skillId) != null;
+            RedDotController.Instance.SetComRedDot(item.m_btnUp, RedDotDataManager.Instance.GetCardSkillRed(skillCfg.skillId), "", 9, -8);
 
             if (item.m_btnUp.data == null)
             {
@@ -785,6 +786,9 @@ namespace GFGGame
         {
             _ui.m_ComFosterBottom.m_listLvConsume.numItems = _ui.m_ComFosterBottom.m_listLvConsume.numItems;
             this.UpdateUpStarView();
+
+            RedDotController.Instance.SetComRedDot(_ui.m_ComFosterBottom.m_btnSkill, RedDotDataManager.Instance.GetCardSkillsRed(_cardData.id));
+            this.UpdateUpSkillView();
         }
         private void OnClickBtnBack()
         {
@@ -810,6 +814,7 @@ namespace GFGGame
             EventAgent.RemoveEventListener(ConstMessage.ITEM_CHANGED, UpdateItemChange);
             EventAgent.RemoveEventListener(ConstMessage.CARD_UP_SKILL, UpdateUpSkillView);
         }
+
         private void CheckGuide(object param)
         {
             if (GuideDataManager.IsGuideFinish(ConstGuideId.UP_CARD_LV) <= 0)