Browse Source

词牌选择界面无词牌问题

zhangyuqian 1 year ago
parent
commit
ba5821d96a

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryCardChooseUI.cs

@@ -19,6 +19,7 @@ namespace UI.Main
         public GList m_listSkill;
         public GList m_listCard;
         public UI_ComArenaSkillTips m_comSkillTips;
+        public GTextField m_noCardTips;
         public const string URL = "ui://mfvz4q8kr1a99d";
         public const string PACKAGE_NAME = "Main";
         public const string RES_NAME = "StoryCardChooseUI";
@@ -78,6 +79,7 @@ namespace UI.Main
             m_listSkill = (GList)comp.GetChild("listSkill");
             m_listCard = (GList)comp.GetChild("listCard");
             m_comSkillTips = (UI_ComArenaSkillTips)UI_ComArenaSkillTips.Create(comp.GetChild("comSkillTips"));
+            m_noCardTips = (GTextField)comp.GetChild("noCardTips");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -94,6 +96,7 @@ namespace UI.Main
             m_listCard = null;
             m_comSkillTips.Dispose();
             m_comSkillTips = null;
+            m_noCardTips = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 40 - 4
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryCardChoose.cs

@@ -115,7 +115,16 @@ namespace GFGGame
                 _cardId = dataManager.DressupList[dataManager.SelectThemeIndex].cardId;
             }
 
-            OnCardSelected(cardList[0].id);
+            if (cardList.Count == 0)
+            {
+                OnCardSelected(0);
+            }
+            else
+            {
+                OnCardSelected(cardList[0].id);
+            }
+           
+
             UpdateView(0);
 
             Timers.inst.AddUpdate(CheckGuide);
@@ -126,9 +135,20 @@ namespace GFGGame
 
             // CardData cardData = cardList[index];
             _ui.m_loaScore.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + _scoreType);
-
-            int cardId = cardList[index].id;
-            _ui.m_txtName.text = "";
+            int cardId;
+            if (cardList.Count == 0)
+            {
+                cardId = 0;
+                _ui.m_noCardTips.visible = true;
+                _ui.m_noCardTips.text = "暂无可用词牌";
+                _ui.m_listSkill.numItems = cardList.Count;
+            }
+            else
+            {
+                _ui.m_noCardTips.visible = false;
+                cardId = cardList[index].id;
+            }
+            _ui.m_txtName.text = "无";
 
             PassivitySkillCfg cfg = ScoreSystemData.Instance.GetShowSkillCfg(cardId);
             if (cfg == null) return;
@@ -226,6 +246,10 @@ namespace GFGGame
 
         private void OnCardSelected(int cardId)
         {
+            if ( cardId == 0)
+            {
+                return;
+            }
             if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
             {
                 ArenaDataManager dataManager = ArenaDataManager.Instance;
@@ -238,6 +262,7 @@ namespace GFGGame
 
         private void OnBtnUpCardClikc()
         {
+            if (cardList.Count == 0) return;
             ViewManager.Show<CardFosterView>(cardList[_ui.m_listCard.selectedIndex],
                 new object[] { typeof(StoryCardChoose).FullName, _scoreType });
             this.Hide();
@@ -245,6 +270,17 @@ namespace GFGGame
 
         private void OnBtnComfirmClick()
         {
+            //飞花令搭配时没有词牌特殊处理
+            if (cardList.Count == 0)
+            {
+                if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
+                {
+                    ViewManager.Show<ArenaDressInfoView>(new object[] { FightRoleType.MINE, 0, ArenaDataManager.Instance.DressupList, "" }, new object[] { typeof(ArenaView).FullName, this.viewData }, true);
+                }
+                this.Hide();
+                return;
+            }
+
             int cardId = cardList[_ui.m_listCard.selectedIndex].id;
 
             if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)

BIN
GameClient/Assets/ResIn/UI/Main/Main_fui.bytes