| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 | using FairyGUI;using ET;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()        {            if (_ui != null)            {                _ui.Dispose();                _ui = null;            }            base.Dispose();        }        protected override void OnInit()        {            base.OnInit();            packageName = UI_NewYearRedEnvelopeUI.PACKAGE_NAME;            _ui = UI_NewYearRedEnvelopeUI.Create();            this.viewCom = _ui.target;            this.viewCom.Center();            this.modal = true;            //viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;            _ui.m_btnOpen.onClick.Add(OnClickBtnOpen);            _ui.m_btnDoubleGet.target.onClick.Add(OnClickBtnDoubleGet);        }        protected override void OnShown()        {            base.OnShown();            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            {                RefreshOpenView();                RefreshViewInfo();                if (NewYearRedEnvelopeDataManager.Status == RedPacketStatus.Open)                    againTimers();            }            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_holderAllBg, "ui_Activity", "RedPack_ALL_tx"));            _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();            EventAgent.AddEventListener(ConstMessage.NEW_YEAR_RED_ENVELOPE_INFO, RefreshBuySuccess);        }        protected override void RemoveEventListener()        {            base.RemoveEventListener();            EventAgent.RemoveEventListener(ConstMessage.NEW_YEAR_RED_ENVELOPE_INFO, RefreshBuySuccess);        }        private void RefreshBuySuccess()        {            RefreshOpenView();            RefreshViewInfo();        }        private void RefreshViewInfo()        {            _ui.m_btnDoubleGet.target.visible = NewYearRedEnvelopeDataManager.Status != RedPacketStatus.Double;        }        private void RefreshOpenView()        {            _ui.m_openType.selectedIndex = 1;            var titleIndex = PlayerPrefs.GetString("NewYearRedEnvelopeRamdomInt");            _ui.m_titleImgType.selectedIndex = Convert.ToInt32(titleIndex);            UI_ComItem item = UI_ComItem.Proxy(_ui.m_itemReward);            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(NewYearRedEnvelopeDataManager.ItemId);            RarityIconController.UpdateRarityIcon(item.m_loaRarity, itemCfg.id, false);            item.target.data = itemCfg;            item.m_QualityType.selectedIndex = itemCfg.rarity - 1;            item.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg);            item.m_txtCount.text = NewYearRedEnvelopeDataManager.ItemNum.ToString();            UI_ComItem.ProxyEnd();            _ui.m_textGetNum.text = NewYearRedEnvelopeDataManager.ItemNum.ToString();        }        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();            string strTime = TimeUtil.FormattingTimeTo_DDHHmm(time);            _ui.m_txtTime.text = strTime;            UI_Button1 btn = UI_Button1.Proxy(_ui.m_btnDoubleGet.target);            btn.m_txtTime.text = strTime;            UI_Button1.ProxyEnd();        }        private void OnClickBtnDoubleGet(EventContext context)        {            BuyDoubleRedPacket();        }        private async void BuyDoubleRedPacket()        {            int actRedPacketId = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.NewYearRedPacket);            bool result = await NewYearRedEnvelopeSProxy.ReqDoubleRedPacket(actRedPacketId);            if (result)            {                //RefreshOpenView();                //RefreshViewInfo();            }        }        private void OnClickBtnOpen(EventContext context)        {            ReqLeagueList();        }        private async void ReqLeagueList()        {            int actRedPacketId = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.NewYearRedPacket);            bool result = await NewYearRedEnvelopeSProxy.ReqOpenRedPacket(actRedPacketId);            if (result)            {                RefreshOpenView();                againTimers();                RefreshViewInfo();            }        }        private void againTimers()        {            Timers.inst.Remove(UpdateOpenTime);            Timers.inst.Remove(UpdateTextTime);            _ui.m_txtGet.visible = false;            _ui.m_imgTitle.visible = false;            Timers.inst.Add(0.5f, 1, UpdateOpenTime);            Timers.inst.Add(0.7f, 1, UpdateTextTime);        }        private void UpdateTextTime(object param)        {            _ui.m_txtGet.visible = true;        }        private void UpdateOpenTime(object param)        {            _ui.m_imgTitle.visible = true;        }        protected override void OnHide()        {            for (int i = 0; i < _effectUIList.Count; i++)            {                EffectUIPool.Recycle(_effectUIList[i]);            }            _effectUIList.Clear();            base.OnHide();            Timers.inst.Remove(UpdateTime);            Timers.inst.Remove(UpdateOpenTime);            Timers.inst.Remove(UpdateTextTime);        }    }}
 |