浏览代码

词牌星星数根据配表变化

huangxiaoyue 1 年之前
父节点
当前提交
df2b7e2183

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Card/UI_ListCardItem.cs

@@ -7,6 +7,7 @@ namespace UI.Card
     public partial class UI_ListCardItem
     {
         public GComponent target;
+        public Controller m_starNumType;
         public UI_ComCardMask m_comCard;
         public GLoader m_loaBorder;
         public GLoader m_loaRarity;
@@ -64,6 +65,7 @@ namespace UI.Card
 
         private void Init(GComponent comp)
         {
+            m_starNumType = comp.GetController("starNumType");
             m_comCard = (UI_ComCardMask)UI_ComCardMask.Create(comp.GetChild("comCard"));
             m_loaBorder = (GLoader)comp.GetChild("loaBorder");
             m_loaRarity = (GLoader)comp.GetChild("loaRarity");
@@ -77,6 +79,7 @@ namespace UI.Card
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_starNumType = null;
             m_comCard.Dispose();
             m_comCard = null;
             m_loaBorder = null;

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

@@ -129,6 +129,7 @@ namespace GFGGame
             RedDotController.Instance.SetComRedDot(listItem.target, RedDotDataManager.Instance.GetCardRed(data.id), "", 10, -4);
 
             int starLevelDodge = data.star / 5;
+            listItem.m_starNumType.selectedIndex = data.itemCfg.starDescArr.Length-1;
             for (int i = 0; i < 4; i++)
             {
                 UI_ComDodgeStar dodgeStar = UI_ComDodgeStar.Proxy(listItem.target.GetChild("dodgeStar" + i));

+ 14 - 10
GameClient/Assets/Game/HotUpdate/Views/Card/CardFosterView.cs

@@ -774,8 +774,10 @@ namespace GFGGame
             int starLevelDodge = _cardData.star / _wordNumber;
             for (int i = 0; i < _wordRow; i++)
             {
-                UI_ComDodgeStar dodgeStar = UI_ComDodgeStar.Proxy(_comFosterBottom.target.GetChild("dodgeStar" + i));
+                var dodgeStarObj = _comFosterBottom.target.GetChild("dodgeStar" + i);
+                UI_ComDodgeStar dodgeStar = UI_ComDodgeStar.Proxy(dodgeStarObj);
                 dodgeStar.m_lightType.selectedIndex = (starLevelDodge > i) ? 1 : 0;
+                dodgeStarObj.visible = i < _cardData.itemCfg.starDescArr.Length;
                 UI_ComDodgeStar.ProxyEnd();
             }
         }
@@ -783,20 +785,23 @@ namespace GFGGame
         private void UpdateUpStarOfText()
         {
             int starLevel = _cardData.star / _wordNumber;
+            _wordRow = _cardData.itemCfg.starDescArr.Length;
             if (starLevel >= _wordRow)
                 starLevel = _wordRow - 1;
             int index = starLevel * _wordNumber;
             UI_ComStarItem comStarItem = UI_ComStarItem.Proxy(_comFosterBottom.target.GetChild("comStarItem"));
             string starDesc = "";
-            for (int j = 0; j < _cardData.itemCfg.starDescArr[starLevel].Length; j++)
-            {
-                index++;
-                string str = _cardData.itemCfg.starDescArr[starLevel][j].ToString();
-                if (j < _cardData.itemCfg.starDescArr[starLevel].Length - 1)
-                    str += " /";
+            //if (starLevel < _cardData.itemCfg.starDescArr.Length) {
+                for (int j = 0; j < _cardData.itemCfg.starDescArr[starLevel].Length; j++)
+                {
+                    index++;
+                    string str = _cardData.itemCfg.starDescArr[starLevel][j].ToString();
+                    if (j < _cardData.itemCfg.starDescArr[starLevel].Length - 1)
+                        str += " /";
 
-                starDesc += index <= _cardData.star ? StringUtil.GetColorText(str, "#E5892F") : StringUtil.GetColorText(str, "#C8B693");
-            }
+                    starDesc += index <= _cardData.star ? StringUtil.GetColorText(str, "#E5892F") : StringUtil.GetColorText(str, "#C8B693");
+                }
+            //}
             comStarItem.m_txtContent.text = starDesc;
             UI_ComStarItem.ProxyEnd();
         }
@@ -920,7 +925,6 @@ namespace GFGGame
 
                 LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.CI_PAI, 2);
                 UpdateRedDot();
-
                 if (_cardData.star % 5 == 0) {
                     int starLevelDodge = _cardData.star / _wordNumber;
                     int starLevel = _cardData.star / _wordNumber - 1;

二进制
GameClient/Assets/ResIn/UI/Card/Card_fui.bytes