Browse Source

新年红包加特效

huangxiaoyue 1 year ago
parent
commit
604d8e727b

+ 21 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/NewYearRedEnvelope/UI_NewYearRedEnvelopeUI.cs

@@ -9,7 +9,14 @@ namespace UI.NewYearRedEnvelope
         public GComponent target;
         public Controller m_titleImgType;
         public Controller m_openType;
+        public GGraph m_holderTitle;
+        public GGraph m_holderdoubao1;
+        public GGraph m_holderdoubao2;
+        public GGraph m_holderAllBg;
+        public GGraph m_holderAFu;
+        public GLoader m_imgTitle;
         public GButton m_btnOpen;
+        public GGraph m_holderOpenBtn;
         public GRichTextField m_txtTime;
         public UI_Button1 m_btnDoubleGet;
         public GComponent m_itemReward;
@@ -63,7 +70,14 @@ namespace UI.NewYearRedEnvelope
         {
             m_titleImgType = comp.GetController("titleImgType");
             m_openType = comp.GetController("openType");
+            m_holderTitle = (GGraph)comp.GetChild("holderTitle");
+            m_holderdoubao1 = (GGraph)comp.GetChild("holderdoubao1");
+            m_holderdoubao2 = (GGraph)comp.GetChild("holderdoubao2");
+            m_holderAllBg = (GGraph)comp.GetChild("holderAllBg");
+            m_holderAFu = (GGraph)comp.GetChild("holderAFu");
+            m_imgTitle = (GLoader)comp.GetChild("imgTitle");
             m_btnOpen = (GButton)comp.GetChild("btnOpen");
+            m_holderOpenBtn = (GGraph)comp.GetChild("holderOpenBtn");
             m_txtTime = (GRichTextField)comp.GetChild("txtTime");
             m_btnDoubleGet = (UI_Button1)UI_Button1.Create(comp.GetChild("btnDoubleGet"));
             m_itemReward = (GComponent)comp.GetChild("itemReward");
@@ -73,7 +87,14 @@ namespace UI.NewYearRedEnvelope
         {
             m_titleImgType = null;
             m_openType = null;
+            m_holderTitle = null;
+            m_holderdoubao1 = null;
+            m_holderdoubao2 = null;
+            m_holderAllBg = null;
+            m_holderAFu = null;
+            m_imgTitle = null;
             m_btnOpen = null;
+            m_holderOpenBtn = null;
             m_txtTime = null;
             m_btnDoubleGet.Dispose();
             m_btnDoubleGet = null;

+ 2 - 4
GameClient/Assets/Game/HotUpdate/ServerProxy/NewYearRedEnvelopeSproxy.cs

@@ -10,7 +10,6 @@ namespace ET
         {
             NewYearRedEnvelopeDataManager.Status = RedPacketStatus.Double;
             EventAgent.DispatchEvent(ConstMessage.NEW_YEAR_RED_ENVELOPE_INFO);
-            ET.Log.Debug("打印测试========走推送========" + message.ItemNum);
             var itemData = ItemUtil.CreateItemDataList(message.ItemId, message.ItemNum);
             BonusController.TryShowBonusList(itemData);
             await ETTask.CompletedTask;
@@ -34,7 +33,6 @@ namespace GFGGame
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
-                    ET.Log.Debug("打印测试=====获取红包信息===========" + response.Status);
                     NewYearRedEnvelopeDataManager.Status = response.Status;
                     NewYearRedEnvelopeDataManager.ItemId = response.ItemId;
                     NewYearRedEnvelopeDataManager.ItemNum = response.ItemNum;
@@ -56,8 +54,8 @@ namespace GFGGame
                     NewYearRedEnvelopeDataManager.Status = RedPacketStatus.Open;
                     NewYearRedEnvelopeDataManager.ItemId = response.ItemId;
                     NewYearRedEnvelopeDataManager.ItemNum = response.ItemNum;
-                    var itemData = ItemUtil.CreateItemDataList(response.ItemId, response.ItemNum);
-                    BonusController.TryShowBonusList(itemData);
+                    //var itemData = ItemUtil.CreateItemDataList(response.ItemId, response.ItemNum);
+                    //BonusController.TryShowBonusList(itemData);
                     var ramdomInt = Random.Range(1, 4).ToString();
                     PlayerPrefs.SetString("NewYearRedEnvelopeRamdomInt", ramdomInt);   
                     return true;

+ 40 - 7
GameClient/Assets/Game/HotUpdate/Views/NewYearRedEnvelope/NewYearRedEnvelopeView.cs

@@ -4,15 +4,23 @@ using UI.NewYearRedEnvelope;
 using UI.CommonGame;
 using UnityEngine;
 using System;
+using System.Collections.Generic;
 
 namespace GFGGame
 {
     public class NewYearRedEnvelopeView : BaseWindow
     {
         private UI_NewYearRedEnvelopeUI _ui;
+        private List<EffectUI> _effectUIList = new List<EffectUI>();
 
         public override void Dispose()
         {
+            for (int i = 0; i < _effectUIList.Count; i++)
+            {
+                EffectUIPool.Recycle(_effectUIList[i]);
+            }
+            _effectUIList.Clear();
+
             if (_ui != null)
             {
                 _ui.Dispose();
@@ -38,20 +46,31 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
-            ET.Log.Debug("댔丹꿎桿=====댔역븐관썹충==========="+ NewYearRedEnvelopeDataManager.Status);
-            if (NewYearRedEnvelopeDataManager.Status == RedPacketStatus.None) { 
+            if (NewYearRedEnvelopeDataManager.Status == RedPacketStatus.None)
+            {
                 _ui.m_openType.selectedIndex = 0;
                 _ui.m_titleImgType.selectedIndex = 0;
                 RedDotController.Instance.SetComRedDot(_ui.m_btnOpen, true, "", -50, 100);
+                RefreshTime();
             }
-            else {
-                ET.Log.Debug("댔丹꿎桿=====댔역븐관썹충=====66======");
+            else
+            {
                 RefreshOpenView();
                 RefreshViewInfo();
             }
+            AddEffect();
             Timers.inst.Add(1, 0, UpdateTime);
         }
 
+        private void AddEffect()
+        {
+            _effectUIList.Add(EffectUIPool.CreateEffectUI(_ui.m_holderTitle, "ui_Activity", "RedPack_Top_Quad"));
+            _effectUIList.Add(EffectUIPool.CreateEffectUI(_ui.m_holderAFu, "ui_Activity", "RedPack_AF_Anmation"));
+            _effectUIList.Add(EffectUIPool.CreateEffectUI(_ui.m_holderOpenBtn, "ui_Activity", "RedPack_ONE_cirle"));
+            _effectUIList.Add(EffectUIPool.CreateEffectUI(_ui.m_holderdoubao1, "ui_Activity", "RedPack_doubao_Loop"));
+            _effectUIList.Add(EffectUIPool.CreateEffectUI(_ui.m_holderdoubao2, "ui_Activity", "RedPack_doubao_Loop_R"));
+        }
+
         protected override void AddEventListener()
         {
             base.AddEventListener();
@@ -66,13 +85,12 @@ namespace GFGGame
 
         private void RefreshViewInfo()
         {
-            ET.Log.Debug("댔丹꿎桿=====댔역븐관썹충======8888=====" + NewYearRedEnvelopeDataManager.Status);
             _ui.m_btnDoubleGet.target.visible = NewYearRedEnvelopeDataManager.Status != RedPacketStatus.Double;
         }
 
         private void RefreshOpenView()
         {
-            _ui.m_openType.selectedIndex = 1;
+            _ui.m_openType.selectedIndex = 2;
             var titleIndex = PlayerPrefs.GetString("NewYearRedEnvelopeRamdomInt");
             _ui.m_titleImgType.selectedIndex = Convert.ToInt32(titleIndex);
             UI_ComItem item = UI_ComItem.Proxy(_ui.m_itemReward);
@@ -88,6 +106,11 @@ namespace GFGGame
 
         private void UpdateTime(object param)
         {
+            RefreshTime();
+        }
+
+        private void RefreshTime()
+        {
             int actLimitId = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.NewYearRedPacket);
             ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(actLimitId);
             long time = TimeUtil.DateTimeToTimestamp(activityOpenCfg.endTime) - TimeHelper.ServerNow();
@@ -116,6 +139,7 @@ namespace GFGGame
 
         private void OnClickBtnOpen(EventContext context)
         {
+            _ui.m_imgTitle.visible = false;
             ReqLeagueList();
         }
 
@@ -125,14 +149,23 @@ namespace GFGGame
             bool result = await NewYearRedEnvelopeSProxy.ReqOpenRedPacket(actRedPacketId);
             if (result)
             {
-                RefreshOpenView();
+                _ui.m_openType.selectedIndex = 1;
+                _effectUIList.Add(EffectUIPool.CreateEffectUI(_ui.m_holderAllBg, "ui_Activity", "RedPack_ALL_tx"));
+                Timers.inst.Add(0.7f, 0, UpdateOpenTime);
             }
         }
 
+        private void UpdateOpenTime(object param)
+        {
+            _ui.m_imgTitle.visible = true;
+            RefreshOpenView();
+        }
+
         protected override void OnHide()
         {
             base.OnHide();
             Timers.inst.Remove(UpdateTime);
+            Timers.inst.Remove(UpdateOpenTime);
         }
     }
 }

BIN
GameClient/Assets/ResIn/UI/NewYearRedEnvelope/NewYearRedEnvelope_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/NewYearRedEnvelope/NewYearRedEnvelope_atlas0.png


BIN
GameClient/Assets/ResIn/UI/NewYearRedEnvelope/NewYearRedEnvelope_fui.bytes