Эх сурвалжийг харах

词牌升星界面增加升星特效

huangxiaoyue 1 жил өмнө
parent
commit
9eb265e397

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Card/UI_ComFosterBottom.cs

@@ -35,6 +35,7 @@ namespace UI.Card
         public GTextField m_txtTips;
         public GTextField m_txtTips;
         public GList m_listStarConsume;
         public GList m_listStarConsume;
         public UI_ComStarItem m_comStarItem;
         public UI_ComStarItem m_comStarItem;
+        public GGraph m_holderUpStar;
         public UI_ComDodgeStar m_dodgeStar0;
         public UI_ComDodgeStar m_dodgeStar0;
         public UI_ComDodgeStar m_dodgeStar1;
         public UI_ComDodgeStar m_dodgeStar1;
         public UI_ComDodgeStar m_dodgeStar2;
         public UI_ComDodgeStar m_dodgeStar2;
@@ -51,6 +52,7 @@ namespace UI.Card
         public GGraph m_holderflower;
         public GGraph m_holderflower;
         public GGraph m_holderTouchFlower;
         public GGraph m_holderTouchFlower;
         public GList m_listProperty;
         public GList m_listProperty;
+        public Transition m_starItemAlpha;
         public const string URL = "ui://7l6lvkayj4c69d";
         public const string URL = "ui://7l6lvkayj4c69d";
         public const string PACKAGE_NAME = "Card";
         public const string PACKAGE_NAME = "Card";
         public const string RES_NAME = "ComFosterBottom";
         public const string RES_NAME = "ComFosterBottom";
@@ -126,6 +128,7 @@ namespace UI.Card
             m_txtTips = (GTextField)comp.GetChild("txtTips");
             m_txtTips = (GTextField)comp.GetChild("txtTips");
             m_listStarConsume = (GList)comp.GetChild("listStarConsume");
             m_listStarConsume = (GList)comp.GetChild("listStarConsume");
             m_comStarItem = (UI_ComStarItem)UI_ComStarItem.Create(comp.GetChild("comStarItem"));
             m_comStarItem = (UI_ComStarItem)UI_ComStarItem.Create(comp.GetChild("comStarItem"));
+            m_holderUpStar = (GGraph)comp.GetChild("holderUpStar");
             m_dodgeStar0 = (UI_ComDodgeStar)UI_ComDodgeStar.Create(comp.GetChild("dodgeStar0"));
             m_dodgeStar0 = (UI_ComDodgeStar)UI_ComDodgeStar.Create(comp.GetChild("dodgeStar0"));
             m_dodgeStar1 = (UI_ComDodgeStar)UI_ComDodgeStar.Create(comp.GetChild("dodgeStar1"));
             m_dodgeStar1 = (UI_ComDodgeStar)UI_ComDodgeStar.Create(comp.GetChild("dodgeStar1"));
             m_dodgeStar2 = (UI_ComDodgeStar)UI_ComDodgeStar.Create(comp.GetChild("dodgeStar2"));
             m_dodgeStar2 = (UI_ComDodgeStar)UI_ComDodgeStar.Create(comp.GetChild("dodgeStar2"));
@@ -142,6 +145,7 @@ namespace UI.Card
             m_holderflower = (GGraph)comp.GetChild("holderflower");
             m_holderflower = (GGraph)comp.GetChild("holderflower");
             m_holderTouchFlower = (GGraph)comp.GetChild("holderTouchFlower");
             m_holderTouchFlower = (GGraph)comp.GetChild("holderTouchFlower");
             m_listProperty = (GList)comp.GetChild("listProperty");
             m_listProperty = (GList)comp.GetChild("listProperty");
+            m_starItemAlpha = comp.GetTransition("starItemAlpha");
         }
         }
         public void Dispose(bool disposeTarget = false)
         public void Dispose(bool disposeTarget = false)
         {
         {
@@ -174,6 +178,7 @@ namespace UI.Card
             m_listStarConsume = null;
             m_listStarConsume = null;
             m_comStarItem.Dispose();
             m_comStarItem.Dispose();
             m_comStarItem = null;
             m_comStarItem = null;
+            m_holderUpStar = null;
             m_dodgeStar0.Dispose();
             m_dodgeStar0.Dispose();
             m_dodgeStar0 = null;
             m_dodgeStar0 = null;
             m_dodgeStar1.Dispose();
             m_dodgeStar1.Dispose();
@@ -194,6 +199,7 @@ namespace UI.Card
             m_holderflower = null;
             m_holderflower = null;
             m_holderTouchFlower = null;
             m_holderTouchFlower = null;
             m_listProperty = null;
             m_listProperty = null;
+            m_starItemAlpha = null;
             if(disposeTarget && target != null)
             if(disposeTarget && target != null)
             {
             {
                 target.RemoveFromParent();
                 target.RemoveFromParent();

+ 173 - 42
GameClient/Assets/Game/HotUpdate/Views/Card/CardFosterView.cs

@@ -24,12 +24,18 @@ namespace GFGGame
         private int _selectTab = 0;
         private int _selectTab = 0;
         private List<LongPressGesture> _listLongPress = new List<LongPressGesture>();
         private List<LongPressGesture> _listLongPress = new List<LongPressGesture>();
         private List<GGraph> _listEffectHolder = new List<GGraph>();
         private List<GGraph> _listEffectHolder = new List<GGraph>();
+        private int wordRow = 4;  //字行数
+        private int wordNumber = 5;//字每行个数
+        private bool refDodgeStar = true;
         private EffectUI _effectUI1;
         private EffectUI _effectUI1;
         private EffectUI _effectUI3;
         private EffectUI _effectUI3;
         private EffectUI _effectUI4;
         private EffectUI _effectUI4;
         private EffectUI _effectUI5;
         private EffectUI _effectUI5;
         private EffectUI _effectUI6;
         private EffectUI _effectUI6;
         private EffectUI _effectUI7;
         private EffectUI _effectUI7;
+        private EffectUI _effectUI8;
+        private EffectUI _effectUI9;
+        private EffectUI _effectUI10;
 
 
         private GObject _consumeSelectItem;//选中的材料item
         private GObject _consumeSelectItem;//选中的材料item
         private int _consumeSelectIndex = 0;//0为减,1为加
         private int _consumeSelectIndex = 0;//0为减,1为加
@@ -112,6 +118,9 @@ namespace GFGGame
             _ui.m_ComFosterBottom.m_listShowCard.itemRenderer = RenderListShowCardItem;
             _ui.m_ComFosterBottom.m_listShowCard.itemRenderer = RenderListShowCardItem;
             _ui.m_ComFosterBottom.m_listShowCard.onClickItem.Add(OnClickShowCardListItem);
             _ui.m_ComFosterBottom.m_listShowCard.onClickItem.Add(OnClickShowCardListItem);
 
 
+            _ui.m_btnLeft.onClick.Add(OnClickBtnLeft);
+            _ui.m_btnRight.onClick.Add(OnClickBtnRight);
+
             // _ui.m_loaCard.onClick.Add(OnClickLoaCard);
             // _ui.m_loaCard.onClick.Add(OnClickLoaCard);
             //_ui.m_loaListener1.onClick.Add(OnClickLoaCard);
             //_ui.m_loaListener1.onClick.Add(OnClickLoaCard);
             //_ui.m_comImgCard.target.onClick.Add(OnClickLoaCard);
             //_ui.m_comImgCard.target.onClick.Add(OnClickLoaCard);
@@ -123,6 +132,26 @@ namespace GFGGame
             _effectUI4 = EffectUIPool.CreateEffectUI(_ui.m_ComFosterBottom.m_holderfBgEff, "ui_Activity", "SX_Down_TX");
             _effectUI4 = EffectUIPool.CreateEffectUI(_ui.m_ComFosterBottom.m_holderfBgEff, "ui_Activity", "SX_Down_TX");
         }
         }
 
 
+
+
+        private void OnClickBtnLeft()
+        {
+            _cardData = CardDataManager.GetCardDataById((this.viewData as CardData).id);
+
+            UpdateCardRes();
+
+
+
+        }
+
+        private void OnClickBtnRight()
+        {
+
+
+
+
+        }
+
         protected override void OnShown()
         protected override void OnShown()
         {
         {
             base.OnShown();
             base.OnShown();
@@ -164,6 +193,16 @@ namespace GFGGame
             }
             }
             _ui.m_ComFosterTop.m_btnStarReward.visible = _cardStarRewards.Count > 0;
             _ui.m_ComFosterTop.m_btnStarReward.visible = _cardStarRewards.Count > 0;
             Timers.inst.AddUpdate(CheckGuide);
             Timers.inst.AddUpdate(CheckGuide);
+
+
+
+            List<CardData> cardList = CardDataManager.GetCardListByRarity(0);
+            if (CardDataManager.isFilter == true)
+            {
+                //筛选
+                cardList = CardDataManager.FilterCardList(cardList);
+            }
+            cardList = CardDataManager.SortItemList(cardList);
         }
         }
         protected override void AddEventListener()
         protected override void AddEventListener()
         {
         {
@@ -457,7 +496,6 @@ namespace GFGGame
             return true;
             return true;
         }
         }
 
 
-
         private void OnClickBtnMinus(GObject obj)
         private void OnClickBtnMinus(GObject obj)
         {
         {
             UI_ComConsume listItem = UI_ComConsume.Proxy(obj);
             UI_ComConsume listItem = UI_ComConsume.Proxy(obj);
@@ -573,7 +611,7 @@ namespace GFGGame
                     if (_showLv - lv >= 1)
                     if (_showLv - lv >= 1)
                     {
                     {
                         // this._selectTab = _comFosterBottom.m_ctrlTab.selectedIndex;
                         // this._selectTab = _comFosterBottom.m_ctrlTab.selectedIndex;
-                        ViewManager.Show<CardUpView>(new object[] { _cardData.scores, "lv", lv, _showLv }, new object[] { ViewName.CARD_FOSTER_VIEW, _cardData });
+                        ViewManager.Show<CardUpView>(new object[] { _cardData.scores, "lv", lv, _showLv , _cardData.id }, new object[] { ViewName.CARD_FOSTER_VIEW, _cardData });
                     }
                     }
                     this.UpdateCommon();
                     this.UpdateCommon();
                     this.UpdateUpLvView();
                     this.UpdateUpLvView();
@@ -616,9 +654,6 @@ namespace GFGGame
             return false;
             return false;
         }
         }
         /***********************************************************升星***************************************************/
         /***********************************************************升星***************************************************/
-
-
-
         private void UpdateUpStarView()
         private void UpdateUpStarView()
         {
         {
             CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfgBycardIdAndstarLvl(_cardData.id, _cardData.star);
             CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfgBycardIdAndstarLvl(_cardData.id, _cardData.star);
@@ -628,37 +663,11 @@ namespace GFGGame
                 return;
                 return;
             }
             }
 
 
-            int wordRow = 4;  //字行数
-            int wordNumber = 5;//字每行个数
-
-            int starLevelDodge =  _cardData.star / wordNumber;
-            int starLevel =  _cardData.star / wordNumber;
-            if (starLevel >= wordRow) 
-                starLevel = wordRow - 1;
-
-            int index = starLevel * wordNumber;
-            for (int i = 0; i < wordRow; i++)
-            {
-                UI_ComDodgeStar dodgeStar = UI_ComDodgeStar.Proxy(_comFosterBottom.target.GetChild("dodgeStar" + i));
-                dodgeStar.m_lightType.selectedIndex = (starLevelDodge > i)  ? 1 : 0;
-                UI_ComDodgeStar.ProxyEnd();
-
-                if (i == starLevel) { 
-                    UI_ComStarItem comStarItem = UI_ComStarItem.Proxy(_comFosterBottom.target.GetChild("comStarItem"));
-                    string starDesc = "";
-                    for (int j = 0; j < _cardData.itemCfg.starDescArr[i].Length; j++)
-                    {
-                        index++;
-                        string str = _cardData.itemCfg.starDescArr[i][j].ToString();
-                        if (j < _cardData.itemCfg.starDescArr[i].Length - 1)
-                            str += " /";
-
-                        starDesc += index <= _cardData.star ? StringUtil.GetColorText(str, "#E5892F") : StringUtil.GetColorText(str, "#C8B693");
-                    }
-                    comStarItem.m_txtContent.text = starDesc;
-                    UI_ComStarItem.ProxyEnd();
-                }
+            //升星后星数正5才不进入
+            if (refDodgeStar || _cardData.star % 5 != 0) { 
+                UpdateUpStarOfStarAndText();
             }
             }
+            refDodgeStar = true;
 
 
             if (CardDataManager.isFullStar(_cardData.id, _cardData.star, false))
             if (CardDataManager.isFullStar(_cardData.id, _cardData.star, false))
             {
             {
@@ -686,6 +695,44 @@ namespace GFGGame
             }
             }
         }
         }
 
 
+        private void UpdateUpStarOfStarAndText()
+        {
+            UpdateUpStarOfStar();
+            UpdateUpStarOfText();
+        }
+
+        private void UpdateUpStarOfStar()
+        {
+            int starLevelDodge = _cardData.star / wordNumber;
+            for (int i = 0; i < wordRow; i++)
+            {
+                UI_ComDodgeStar dodgeStar = UI_ComDodgeStar.Proxy(_comFosterBottom.target.GetChild("dodgeStar" + i));
+                dodgeStar.m_lightType.selectedIndex = (starLevelDodge > i) ? 1 : 0;
+                UI_ComDodgeStar.ProxyEnd();
+            }
+        }
+
+        private void UpdateUpStarOfText()
+        {
+            int starLevel = _cardData.star / wordNumber;
+            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 += " /";
+
+                starDesc += index <= _cardData.star ? StringUtil.GetColorText(str, "#E5892F") : StringUtil.GetColorText(str, "#C8B693");
+            }
+            comStarItem.m_txtContent.text = starDesc;
+            UI_ComStarItem.ProxyEnd();
+        }
+
         private void RenderListStarConsumeItem(int index, GObject obj)
         private void RenderListStarConsumeItem(int index, GObject obj)
         {
         {
             UI_ComItem listItem = UI_ComItem.Proxy(obj);
             UI_ComItem listItem = UI_ComItem.Proxy(obj);
@@ -760,7 +807,7 @@ namespace GFGGame
             }
             }
             //按钮点击特效
             //按钮点击特效
             _effectUI7 = EffectUIPool.CreateEffectUI(_ui.m_ComFosterBottom.m_holderTouchFlower, "ui_Activity", "SX_DJ");
             _effectUI7 = EffectUIPool.CreateEffectUI(_ui.m_ComFosterBottom.m_holderTouchFlower, "ui_Activity", "SX_DJ");
-
+            
             CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfgBycardIdAndstarLvl(_cardData.id, _cardData.star);
             CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfgBycardIdAndstarLvl(_cardData.id, _cardData.star);
 
 
             if (_cardData.lv < cardStarCfg.needLv)
             if (_cardData.lv < cardStarCfg.needLv)
@@ -789,23 +836,101 @@ namespace GFGGame
         }
         }
         private async void UpStar()
         private async void UpStar()
         {
         {
-            CardStarCfg cardStarCfg = CardStarCfgArray.Instance.GetCfgBycardIdAndstarLvl(_cardData.id, _cardData.star);
-
             bool result = await CardSProxy.UpgradeCardStar(_cardData.id);
             bool result = await CardSProxy.UpgradeCardStar(_cardData.id);
             if (result)
             if (result)
             {
             {
-
                 UpdateCommon();
                 UpdateCommon();
+                refDodgeStar = false;
                 UpdateUpStarView();
                 UpdateUpStarView();
                 UpdateCardRes();
                 UpdateCardRes();
                 // this._selectTab = _comFosterBottom.m_ctrlTab.selectedIndex;
                 // this._selectTab = _comFosterBottom.m_ctrlTab.selectedIndex;
-                if ( _cardData.star % 5 == 0)
-                ViewManager.Show<CardUpView>(new object[] { _cardData.scores, "star", _cardData.star - 1, _cardData.star }, new object[] { ViewName.CARD_FOSTER_VIEW, _cardData });
 
 
                 LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.CI_PAI, 2);
                 LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.CI_PAI, 2);
                 UpdateRedDot();
                 UpdateRedDot();
+
+                if (_cardData.star % 5 == 0) {
+                    int starLevelDodge = _cardData.star / wordNumber;
+                    int starLevel = _cardData.star / wordNumber - 1;
+                    UI_ComStarItem comStarItem = UI_ComStarItem.Proxy(_comFosterBottom.target.GetChild("comStarItem"));
+                    string starDesc = "";
+                    for (int j = 0; j < _cardData.itemCfg.starDescArr[starLevel].Length; j++)
+                    {
+                        string str = _cardData.itemCfg.starDescArr[starLevel][j].ToString();
+                        if (j < _cardData.itemCfg.starDescArr[starLevel].Length - 1)
+                            str += " /";
+
+                        starDesc += str;
+                    }
+                    comStarItem.m_txtContent.text = StringUtil.GetColorText(starDesc, "#E5892F");
+                    UI_ComStarItem.ProxyEnd();
+
+                    Timers.inst.Add(0.1f, 1, EffectTxetDisappear);
+                }
+                else
+                    OpenCardUp("starNormal");
             }
             }
         }
         }
+        private void EffectTxetDisappear(object param)
+        {
+            if (_effectUI8 != null)
+            {
+                EffectUIPool.Recycle(_effectUI8);
+                _effectUI8 = null;
+            }
+            //升星字体特效
+            _effectUI8 = EffectUIPool.CreateEffectUI(_ui.m_ComFosterBottom.m_holderUpStar, "ui_Activity", "SX_Text_01");
+            _ui.m_ComFosterBottom.m_starItemAlpha.Play();
+            Timers.inst.Add(0.3f, 1, EffectTaril);
+        }
+        private void EffectTaril(object param)
+        {
+            if (_effectUI9 != null)
+            {
+                EffectUIPool.Recycle(_effectUI9);
+                _effectUI9 = null;
+            }
+            int starLevelDodge = _cardData.star / wordNumber;
+            UI_ComDodgeStar dodgeStar = UI_ComDodgeStar.Proxy(_comFosterBottom.target.GetChild("dodgeStar" + (starLevelDodge - 1)));
+            //升星字体拖尾特效
+            _effectUI9 = EffectUIPool.CreateEffectUI(dodgeStar.m_holderUpStarMove, "ui_Activity", "SX_Text_Taril_02");
+            UI_ComDodgeStar.ProxyEnd();
+            UpdateUpStarOfText();
+            Timers.inst.Add(1.4f, 1, EffectStar);
+        }
+        private void EffectStar(object param)
+        {
+            if (_effectUI9 != null)
+            {
+                EffectUIPool.Recycle(_effectUI9);
+                _effectUI9 = null;
+            }
+            if (_effectUI10 != null)
+            {
+                EffectUIPool.Recycle(_effectUI10);
+                _effectUI10 = null;
+            }
+            int starLevelDodge = _cardData.star / wordNumber;
+            UI_ComDodgeStar dodgeStar = UI_ComDodgeStar.Proxy(_comFosterBottom.target.GetChild("dodgeStar" + (starLevelDodge - 1)));
+            //星星特效
+            _effectUI10 = EffectUIPool.CreateEffectUI(dodgeStar.m_holderStarLight, "ui_Activity", "SX_Text_STAR_03");
+            UI_ComDodgeStar.ProxyEnd();
+
+            Timers.inst.Add(0.7f, 1, (obj) =>
+            {
+                if (_effectUI10 != null)
+                {
+                    EffectUIPool.Recycle(_effectUI10);
+                    _effectUI10 = null;
+                }
+                UpdateUpStarOfStar();
+                OpenCardUp("star");
+            });
+        }
+
+        private void OpenCardUp(string strType)
+        {
+            ViewManager.Show<CardUpView>(new object[] { _cardData.scores, strType, _cardData.star - 1, _cardData.star, _cardData.id }, new object[] { ViewName.CARD_FOSTER_VIEW, _cardData });
+        }
         /***********************************************************升技能***************************************************/
         /***********************************************************升技能***************************************************/
 
 
         private void UpdateUpSkillView()
         private void UpdateUpSkillView()
@@ -997,7 +1122,13 @@ namespace GFGGame
             _effectUI6 = null;
             _effectUI6 = null;
             EffectUIPool.Recycle(_effectUI7);
             EffectUIPool.Recycle(_effectUI7);
             _effectUI7 = null;
             _effectUI7 = null;
-
+            EffectUIPool.Recycle(_effectUI8);
+            _effectUI8 = null;
+            EffectUIPool.Recycle(_effectUI9);
+            _effectUI9 = null;
+            EffectUIPool.Recycle(_effectUI10);
+            _effectUI10 = null;
+            
             Timers.inst.Remove(CheckGuide);
             Timers.inst.Remove(CheckGuide);
             Timers.inst.Remove(OnTimedEvent);
             Timers.inst.Remove(OnTimedEvent);
             UI_ComCostCurrency.ProxyEnd();
             UI_ComCostCurrency.ProxyEnd();

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