using System.Text.RegularExpressions; using ET; using FairyGUI; using Hutool; using UI.League; using UnityEngine; namespace GFGGame { //联盟答题 public class LeagueAnswerView : BaseWindow { private UI_LeagueAnswerUI _ui; public override void Dispose() { if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_LeagueAnswerUI.PACKAGE_NAME; _ui = UI_LeagueAnswerUI.Create(); this.viewCom = _ui.target; this.viewCom.Center(); this.modal = true; viewAnimationType = EnumViewAnimationType.ZOOM_CENTER; _ui.m_btnClose.onClick.Add(Hide); _ui.m_btnRank.onClick.Add(OnBtnRankClick); _ui.m_btnAnswer.onClick.Add(OnBtnAnswerClick); } protected override void AddEventListener() { base.AddEventListener(); } protected override void OnShown() { base.OnShown(); if (this.viewData != null) { var index = (int)this.viewData; _ui.m_c1.selectedIndex = index; } else _ui.m_c1.selectedIndex = 0; UpdateView(); } protected override void OnHide() { base.OnHide(); Timers.inst.Remove(UpdateTime); } protected override void RemoveEventListener() { base.RemoveEventListener(); } private void OnBtnRankClick() { ViewManager.Show(); } private void OnBtnAnswerClick() { Hide(); ViewManager.Show(null, new object[] { }); } private void UpdateView() { OtherRoleInfoData lastNO1 = LeagueDataManager.Instance.GetMemberRoleInfo(LeagueDataManager.Instance.LeagueData.LastWeekAnswerNO1Id); _ui.m_comHead.target.visible = false; if (lastNO1 != null) { ItemCfg headCfg = ItemCfgArray.Instance.GetCfg(lastNO1.headId == 0 ? ConstItemID.HEADID : lastNO1.headId); _ui.m_comHead.m_loaIcon.url = ResPathUtil.GetHeadPath(headCfg.res); _ui.m_comHead.target.visible = true; } _ui.m_txtName.text = lastNO1 == null ? "虚位以待" : lastNO1.roleName; _ui.m_txtRule.text = TextDescCfgArray.Instance.GetCfg(300008).text; if (LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.LeagueQuestionStatus) == LeagueQuestionStatus.End) { _ui.m_btnAnswer.visible = false; _ui.m_txtTime.visible = true; Timers.inst.Add(1, 0, UpdateTime); } else { _ui.m_btnAnswer.visible = true; _ui.m_txtTime.visible = false; } } private void UpdateTime(object param) { int curIndex = DateUtil.GetNearestStartTimeIndex(GlobalCfgArray.globalCfg.leagueQuestionCloseTimeArr); long curTime = TimeHelper.ServerNow(); var questionStartTimeStr = GlobalCfgArray.globalCfg.leagueQuestionStartTimeArr[curIndex]; long endTime =TimeHelper.ServerNow() > TimeUtil.GetCurDayTime(questionStartTimeStr) ? TimeUtil.GetNextTime(questionStartTimeStr) : TimeUtil.GetCurDayTime(questionStartTimeStr); if (LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.LeagueQuestionStatus) > LeagueQuestionStatus.End || endTime - curTime < 0) { Timers.inst.Remove(UpdateTime); return; } _ui.m_txtTime.text = string.Format("{0}后开启", TimeUtil.FormattingTimeTo_HHmmss((endTime - curTime))); } } }