فهرست منبع

卡牌升星奖励

zhaoyang 2 سال پیش
والد
کامیت
53d605563d

+ 6 - 6
FGUIProject/assets/Card/components/ComStarConsume.xml

@@ -4,12 +4,12 @@
     <loader id="n35_842s" name="n35" xy="0,0" size="180,180" url="ui://7l6lvkayqkjsbs" fill="scaleFree"/>
     <image id="n43_qkjs" name="n43" src="qkjsb7" fileName="imagesNew/bk_SKillItem.png" xy="13,15"/>
     <loader id="n36_842s" name="loaItem" xy="34,37" size="104,104" url="ui://eg2y0ldppq5x62" fill="scaleFree"/>
-    <image id="n33_842s" name="n33" src="qkjsb5" fileName="imagesNew/dikuang_SkillLevel.png" xy="24,139" size="131,30"/>
-    <component id="n34_842s" name="btnPlus" src="wr9a83" fileName="components/btnPlus.xml" xy="124,131"/>
-    <text id="n39_a713" name="txtHasCount" xy="50,130" size="35,44" group="n42_94m1" font="ui://eg2y0ldpa0cftks" fontSize="32" color="#716660" ubb="true" text="12"/>
-    <text id="n41_wr9a" name="n41" xy="81,130" size="18,44" group="n42_94m1" font="ui://eg2y0ldpa0cftks" fontSize="32" color="#716660" text="/"/>
-    <text id="n38_a713" name="txtNeedCount" xy="95,130" size="35,44" group="n42_94m1" font="ui://eg2y0ldpa0cftks" fontSize="32" color="#716660" ubb="true" text="66"/>
-    <group id="n42_94m1" name="n42" xy="50,130" size="80,44" advanced="true" layout="hz" colGap="-4" excludeInvisibles="true">
+    <image id="n33_842s" name="n33" src="qkjsb5" fileName="imagesNew/dikuang_SkillLevel.png" xy="19,139" pivot="0.5,0" size="140,30"/>
+    <component id="n34_842s" name="btnPlus" src="wr9a83" fileName="components/btnPlus.xml" xy="135,130"/>
+    <text id="n39_a713" name="txtHasCount" xy="34,130" size="35,44" group="n42_94m1" font="ui://eg2y0ldpa0cftks" fontSize="32" color="#716660" ubb="true" text="20"/>
+    <text id="n41_wr9a" name="n41" xy="65,130" size="18,44" group="n42_94m1" font="ui://eg2y0ldpa0cftks" fontSize="32" color="#716660" text="/"/>
+    <text id="n38_a713" name="txtNeedCount" xy="79,130" size="66,44" group="n42_94m1" font="ui://eg2y0ldpa0cftks" fontSize="32" color="#716660" ubb="true" text="6600"/>
+    <group id="n42_94m1" name="n42" xy="34,130" size="111,44" advanced="true" layout="hz" colGap="-4" excludeInvisibles="true">
       <relation target="" sidePair="center-center"/>
     </group>
   </displayList>

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

@@ -270,9 +270,10 @@ namespace GFGGame
         public bool GetCardStarReward(int cardId)
         {
             CardData cardData = CardDataManager.GetCardDataById(cardId);
-            foreach (int value in cardData.starRewardsState.Values)
+            List<CardStarCfg> cardStarCfgs = CardStarCfgArray.Instance.GetCfgsBycardId(cardId);
+            for (int i = 0; i < cardStarCfgs.Count; i++)
             {
-                if (value == ConstBonusStatus.CAN_GET) return true;
+                if (cardStarCfgs[i].rewardsArr.Length > 0 && cardData.starRewardsState.ContainsKey(cardStarCfgs[i].starLvl) && cardData.starRewardsState[cardStarCfgs[i].starLvl] == ConstBonusStatus.CAN_GET) return true;
             }
             return false;
 

+ 31 - 19
GameClient/Assets/Game/HotUpdate/Views/Card/CardFosterView.cs

@@ -20,6 +20,7 @@ namespace GFGGame
         private UI_ComCost _comLvConsumeGold;
         private UI_ComCostCurrencyWithHas _comStarCousumeGold;
         private CardData _cardData = new CardData();
+        private List<CardStarCfg> _cardStarRewards = new List<CardStarCfg>();
         private int _selectTab = 0;
         private List<LongPressGesture> _listLongPress = new List<LongPressGesture>();
         private GameObject _cardObj;
@@ -134,6 +135,15 @@ namespace GFGGame
             _comFosterBottom.m_ctrlTab.selectedIndex = this._selectTab;
             RedDotController.Instance.SetComRedDot(_ui.m_ComFosterBottom.m_btnSkill, RedDotDataManager.Instance.GetCardSkillsRed(_cardData.id));
 
+            List<CardStarCfg> cardStarCfgs = CardStarCfgArray.Instance.GetCfgsBycardId(_cardData.id);
+            for (int i = 0; i < cardStarCfgs.Count; i++)
+            {
+                if (cardStarCfgs[i].rewardsArr.Length > 0)
+                {
+                    _cardStarRewards.Add(cardStarCfgs[i]);
+                }
+            }
+            _ui.m_ComFosterTop.m_btnStarReward.visible = _cardStarRewards.Count > 0;
             Timers.inst.AddUpdate(CheckGuide);
         }
         protected override void AddEventListener()
@@ -535,7 +545,7 @@ namespace GFGGame
         private bool IsUpLvLimit(bool showTips = true)
         {
             int lvLimit = RoleLevelCfgArray.Instance.GetCfg(RoleDataManager.lvl).cardLeverLimit;
-            if (_showLv >= lvLimit)
+            if (_showLv > lvLimit)
             {
                 if (!showTips) return true;
 
@@ -564,12 +574,25 @@ namespace GFGGame
         private void UpdateUpStarView()
         {
             CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfgBycardIdAndstarLvl(_cardData.id, _cardData.star);
-            _ui.m_ComFosterTop.m_btnStarReward.visible = cardStarCfg.rewardsArr.Length > 0;
             if (cardStarCfg == null)
             {
                 ET.Log.Error("卡牌:" + _cardData.id + "   无" + _cardData.star + "星升星配置");
                 return;
             }
+            int index = 1;
+            for (int i = 0; i < 4; i++)
+            {
+                UI_ComStarItem comStarItem = UI_ComStarItem.Proxy(_comFosterBottom.target.GetChild("comStarItem" + i));
+                string starDesc = "";
+                for (int j = 0; j < _cardData.itemCfg.starDescArr[i].Length; j++)
+                {
+                    char str = _cardData.itemCfg.starDescArr[i][j];
+                    starDesc += index <= _cardData.star ? StringUtil.GetColorText(str.ToString(), "#D07D40") : StringUtil.GetColorText(str.ToString(), "#716660");
+                    index++;
+                }
+                comStarItem.m_txtContent.text = starDesc;
+                UI_ComStarItem.ProxyEnd();
+            }
             if (CardDataManager.isFullStar(_cardData.id, _cardData.star, false))
             {
                 _comFosterBottom.m_ctrlFullStar.selectedIndex = 1;
@@ -582,20 +605,7 @@ namespace GFGGame
             {
                 _comFosterBottom.m_ctrlFullStar.selectedIndex = 0;
                 // List<CardStarCfg> starCfgs = CardStarCfgArray.Instance.GetCfgsBycardId(_cardData.id);
-                int index = 1;
-                for (int i = 0; i < 4; i++)
-                {
-                    UI_ComStarItem comStarItem = UI_ComStarItem.Proxy(_comFosterBottom.target.GetChild("comStarItem" + i));
-                    string starDesc = "";
-                    for (int j = 0; j < _cardData.itemCfg.starDescArr[i].Length; j++)
-                    {
-                        char str = _cardData.itemCfg.starDescArr[i][j];
-                        starDesc += index <= _cardData.star ? StringUtil.GetColorText(str.ToString(), "#D07D40") : StringUtil.GetColorText(str.ToString(), "#716660");
-                        index++;
-                    }
-                    comStarItem.m_txtContent.text = starDesc;
-                    UI_ComStarItem.ProxyEnd();
-                }
+
                 _comFosterBottom.m_btnUpStar.data = 0;//data  0:可以升级,1:材料不足
 
                 ItemUtil.UpdateItemNeedNum(_comFosterBottom.m_comStarCousumeGold, cardStarCfg.costID, cardStarCfg.costNum);
@@ -603,6 +613,7 @@ namespace GFGGame
                 _comFosterBottom.m_listStarConsume.data = cardStarCfg;
                 _comFosterBottom.m_listStarConsume.numItems = cardStarCfg.materiarsArr.Length;
                 _comFosterBottom.m_txtTips.text = _cardData.lv < cardStarCfg.needLv ? string.Format("需等级达到{0}级", cardStarCfg.needLv) : "";
+                _comFosterBottom.m_comStarCousumeGold.visible = _cardData.lv >= cardStarCfg.needLv;
                 _comFosterBottom.m_btnUpStar.grayed = int.Parse(_comFosterBottom.m_btnUpStar.data.ToString()) == 1 ? true : false;
                 // _comFosterBottom.m_btnUpStar.GetChild("ani").asMovieClip.visible = false;// !_comFosterBottom.m_btnUpStar.grayed;
 
@@ -622,7 +633,7 @@ namespace GFGGame
             int needCount = cardStarCfg.materiarsArr[index][1];
             long hasCount = ItemDataManager.GetItemNum(cardStarCfg.materiarsArr[index][0]);
             listItem.m_txtNeedCount.text = needCount.ToString();// StringUtil.GetColorText(needCount.ToString(), hasCount < needCount ? "#D27869" : "#FDF3D7"); ;
-            listItem.m_txtHasCount.text = StringUtil.GetColorText(hasCount.ToString(), hasCount < needCount ? "#D27869" : "#FDF3D7"); //;  hasCount.ToString();
+            listItem.m_txtHasCount.text = StringUtil.GetColorText(hasCount.ToString(), hasCount < needCount ? "#D27869" : "#716660"); //;  hasCount.ToString();
             listItem.m_btnPlus.visible = false;
             if (listItem.target.data == null)
             {
@@ -680,7 +691,7 @@ namespace GFGGame
 
             if (_cardData.lv < cardStarCfg.needLv)
             {
-                PromptController.Instance.ShowFloatTextPrompt("等级不足");
+                PromptController.Instance.ShowFloatTextPrompt("卡牌等级不足");
                 return;
             }
             if (CardDataManager.isFullStar(_cardData.id, _cardData.star) == true)
@@ -879,7 +890,7 @@ namespace GFGGame
         }
         private void OnBtnStarRewardClick()
         {
-            ViewManager.Show<CardStarRewardView>(_cardData);
+            ViewManager.Show<CardStarRewardView>(_cardStarRewards);
         }
         private void OnClickBtnBack()
         {
@@ -900,6 +911,7 @@ namespace GFGGame
             UI_ComCostCurrencyWithHas.ProxyEnd();
             // _comFosterBottom.m_listLvConsume.numItems = 0;
             _valueBarController.OnHide();
+            _cardStarRewards.Clear();
         }
         protected override void RemoveEventListener()
         {

+ 12 - 10
GameClient/Assets/Game/HotUpdate/Views/Card/CardStarRewardView.cs

@@ -1,5 +1,6 @@
 using FairyGUI;
 using System.Collections;
+using System.Collections.Generic;
 using UI.Card;
 using UnityEngine;
 
@@ -8,7 +9,7 @@ namespace GFGGame
     public class CardStarRewardView : BaseWindow
     {
         private UI_CardStarRewardUI _ui;
-        private CardData _viewData;
+        private List<CardStarCfg> _cardStarRewards;
         public override void Dispose()
         {
             if (_ui != null)
@@ -39,7 +40,7 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
-            _viewData = this.viewData as CardData;
+            _cardStarRewards = this.viewData as List<CardStarCfg>;
             UpdateView();
         }
         protected override void OnHide()
@@ -53,29 +54,30 @@ namespace GFGGame
         }
         private void UpdateView()
         {
-            _ui.m_listReward.numItems = CardStarCfgArray.Instance.GetCfgsBycardId(_viewData.itemCfg.id).Count;
+            _ui.m_listReward.numItems = _cardStarRewards.Count;
 
         }
         private void RenderListStarRewardItem(int index, GObject obj)
         {
             UI_ListCardStarRewardItem item = UI_ListCardStarRewardItem.Proxy(obj);
-            CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfgsBycardId(_viewData.itemCfg.id)[index];
+            CardStarCfg cardStarCfg = _cardStarRewards[index];
+            CardData cardData = CardDataManager.GetCardDataById(cardStarCfg.cardId);
             if (index == 0)
             {
                 item.m_txtTitle.text = "激活词牌";
             }
             else
             {
-                item.m_txtTitle.text = string.Format("词牌星级达到{0}星", NumberUtil.GetChiniseNumberText(index + 1));
+                item.m_txtTitle.text = string.Format("词牌星级达到{0}星", NumberUtil.GetChiniseNumberText(cardStarCfg.starLvl));
             }
             // RedDotController.Instance.SetComRedDot(item.m_btnGet, true);
-            int star = index + 1;
-            item.m_c1.selectedIndex = _viewData.starRewardsState.ContainsKey(star) ? _viewData.starRewardsState[star] : 0;
+            // int star = index + 1;
+            item.m_c1.selectedIndex = cardData.starRewardsState.ContainsKey(cardStarCfg.starLvl) ? cardData.starRewardsState[cardStarCfg.starLvl] : 0;
             if (item.m_btnGet.data == null)
             {
                 item.m_btnGet.onClick.Add(OnClickBtnGet);
             }
-            item.m_btnGet.data = index + 1;
+            item.m_btnGet.data = cardStarCfg;
 
             ItemData reward = ItemUtil.createItemData(cardStarCfg.rewardsArr[0]);
             if (item.m_comItem.data == null)
@@ -91,8 +93,8 @@ namespace GFGGame
         private void OnClickBtnGet(EventContext context)
         {
             GObject obj = context.sender as GObject;
-            int index = (int)obj.data;
-            CardSProxy.GetCardStarBonus(_viewData.id, index).Coroutine();
+            CardStarCfg cardStarCfg = obj.data as CardStarCfg;
+            CardSProxy.GetCardStarBonus(cardStarCfg.cardId, cardStarCfg.starLvl).Coroutine();
         }
 
     }

BIN
GameClient/Assets/ResIn/UI/Card/Card_fui.bytes