Răsfoiți Sursa

修改摘星特效

leiyasi 1 an în urmă
părinte
comite
77ef64bb2d

+ 61 - 1
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxBonusShowView.cs

@@ -26,6 +26,7 @@ namespace GFGGame
         private EffectUI _effectUI1;
         private EffectUI _effectUI2;
         private EffectUI _effectUI3;
+        private Dictionary<string, EffectUI> _effectUIDic = new Dictionary<string, EffectUI>();
 
         public override void Dispose()
         {
@@ -150,6 +151,12 @@ namespace GFGGame
             base.OnHide();
             Timers.inst.Remove(UpDataTime);
             Timers.inst.Remove(UpClickDataTime);
+            foreach (var v in _effectUIDic)
+            {
+                EffectUIPool.Recycle(v.Value);
+            }
+
+            _effectUIDic.Clear();
         }
 
         private void UpdateItem(GComponent com, int index, int countType)
@@ -162,7 +169,22 @@ namespace GFGGame
             item.m_comIcon.m_icon.url = ResPathUtil.GetIconPath(itemCfg);
             item.m_comIcon.m_FlipOpenType.selectedIndex = 1;
             item.m_comIcon.m_t1.Play();
+            switch (itemCfg.rarity)
+            {
+                case 1:
+                    
+                    break;
+                case 2:
 
+                    break;
+                case 3:
+                    _effectUIDic.Add("CK_Loop_Wait_Chen" + index, EffectUIPool.CreateEffectUI(item.m_waitClick_eff, "ui_LuckyBox", "CK_Loop_Wait_Chen"));
+                    break;
+                case 4:
+                    _effectUIDic.Add("CK_Loop_Wait_Jin" + index, EffectUIPool.CreateEffectUI(item.m_waitClick_eff, "ui_LuckyBox", "CK_Loop_Wait_Jin"));
+                    break;
+            }
+            
             //带特效的处理先注释
             //item.m_comIcon.m_holder.visible = false;
             //item.m_comIcon.m_holder1.visible = false;
@@ -259,7 +281,9 @@ namespace GFGGame
                 _ui.m_BtnPass.visible = false;
 
             if (!_recordOpenIndex.Contains(index))
+            {
                 TurnItem(index);
+            }
             else {
                 if (!_recordTurnIndex.Contains(index))
                     ShowTurnItem(index);
@@ -397,14 +421,49 @@ namespace GFGGame
         {
             if (!_recordOpenIndex.Contains(index))
             {
+                // 删除 “等待翻开” 的特效
+                if(_effectUIDic.ContainsKey("CK_Loop_Wait_Chen" + index))
+                {
+                    EffectUIPool.Recycle(_effectUIDic["CK_Loop_Wait_Chen" + index]);
+                    _effectUIDic.Remove("CK_Loop_Wait_Chen" + index);
+                }
+                if (_effectUIDic.ContainsKey("CK_Loop_Wait_Jin" + index))
+                {
+                    EffectUIPool.Recycle(_effectUIDic["CK_Loop_Wait_Jin" + index]);
+                    _effectUIDic.Remove("CK_Loop_Wait_Jin" + index);
+                }
+
                 UI_LuckyBoxBonusShowItem item = UI_LuckyBoxBonusShowItem.Proxy(_itemObjList[index]);
                 if (!item.m_comIcon.m_imgNew.visible)
                     _recordTurnIndex.Add(index);
 
                 //先翻开牌面 
                 item.m_comIcon.m_FlipOpenType.selectedIndex = 0;
-                //item.m_t1.Play();
+                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(_itemIdList[index]);
                 item.m_t2.Play();
+
+                // 点击特效
+                _effectUIDic.Add("CK_Cirle_DJ" + index, EffectUIPool.CreateEffectUI(item.m_comIcon.m_click_eff, "ui_LuckyBox", "CK_Cirle_DJ"));
+
+                // 翻开特效
+                switch (itemCfg.rarity)
+                {
+                    case 1:
+                    case 2:
+                        _effectUIDic.Add("CK_OpenAfter_LanHui_UI" + index, EffectUIPool.CreateEffectUI(item.m_comIcon.m_ui_eff, "ui_LuckyBox", "CK_OpenAfter_LanHui_UI"));
+                        _effectUIDic.Add("CK_OpenAfter_LanHui_TX" + index, EffectUIPool.CreateEffectUI(item.m_comIcon.m_flip_eff, "ui_LuckyBox", "CK_OpenAfter_LanHui_TX"));
+                        break;
+                    case 3:
+                        _effectUIDic.Add("CK_OpenAfter_Chen_UI" + index, EffectUIPool.CreateEffectUI(item.m_comIcon.m_ui_eff, "ui_LuckyBox", "CK_OpenAfter_Chen_UI"));
+                        _effectUIDic.Add("CK_OpenAfter_Chen_TX" + index, EffectUIPool.CreateEffectUI(item.m_comIcon.m_flip_eff, "ui_LuckyBox", "CK_OpenAfter_Chen_TX"));
+                        break;
+                    case 4:
+                        _effectUIDic.Add("CK_OpenAfter_Jin_UI" + index, EffectUIPool.CreateEffectUI(item.m_comIcon.m_ui_eff, "ui_LuckyBox", "CK_OpenAfter_Jin_UI"));
+                        _effectUIDic.Add("CK_OpenAfter_Jin_TX" + index, EffectUIPool.CreateEffectUI(item.m_comIcon.m_flip_eff, "ui_LuckyBox", "CK_OpenAfter_Jin_TX"));
+                        break;
+                }
+
+                item.m_comIcon.m_flip_eff.visible = false;
                 item.m_comIcon.m_t0.Play();
                 _recordOpenIndex.Add(index);
                 UI_LuckyBoxBonusShowItem.ProxyEnd();
@@ -418,5 +477,6 @@ namespace GFGGame
             ViewManager.Hide<LuckyBoxNewDressView>();
             ViewManager.Hide<LuckyBoxNewCardView>();
         }
+
     }
 }