using FairyGUI; using ET; using UI.NewYearRedEnvelope; using UI.CommonGame; using UnityEngine; using System; namespace GFGGame { public class NewYearRedEnvelopeView : BaseWindow { private UI_NewYearRedEnvelopeUI _ui; 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 AddEventListener() { base.AddEventListener(); EventAgent.AddEventListener(ConstMessage.NEW_YEAR_RED_ENVELOPE_INFO, RefreshViewInfo); } protected override void RemoveEventListener() { base.RemoveEventListener(); EventAgent.RemoveEventListener(ConstMessage.NEW_YEAR_RED_ENVELOPE_INFO, RefreshViewInfo); } private void RefreshViewInfo() { _ui.m_btnDoubleGet.target.visible = NewYearRedEnvelopeDataManager.Status != RedPacketStatus.Double; } protected override void OnShown() { base.OnShown(); int actRedPacketId = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.NewYearRedPacket); if (NewYearRedEnvelopeDataManager.Status == RedPacketStatus.None) { _ui.m_openType.selectedIndex = 0; _ui.m_titleImgType.selectedIndex = 0; } else if (NewYearRedEnvelopeDataManager.Status == RedPacketStatus.Open) { RefreshOpenView(); } _ui.m_textGetNum.text = NewYearRedEnvelopeDataManager.ItemNum.ToString(); Timers.inst.Add(1, 0, UpdateTime); } private void RefreshOpenView() { _ui.m_openType.selectedIndex = 1; var titleIndex = PlayerPrefs.GetString("NewYearRedEnvelopeRamdomInt"); ET.Log.Debug("打印测试=====取出随机数===========" + Convert.ToInt32(titleIndex)); _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(); } private void UpdateTime(object param) { int actLimitId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitStlyc); 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(); } } 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(); } } protected override void OnHide() { base.OnHide(); Timers.inst.Remove(UpdateTime); } } }