using FairyGUI; using UI.Field; using UnityEngine; namespace GFGGame { public class FieldFightInfoView : BaseWindow { private UI_FieldFightInfoUI _ui; private StoryLevelCfg _storyLevelCfg; private StoryFightCfg _storyFightCfg; private int _time = 3; public override void Dispose() { base.Dispose(); } protected override void OnInit() { base.OnInit(); _ui = UI_FieldFightInfoUI.Create(); this.viewCom = _ui.target; this.viewCom.Center(); this.modal = true; viewAnimationType = EnumViewAnimationType.ZOOM_CENTER; _ui.m_btnStop.onClick.Add(OnBtnStopClick); } protected override void OnShown() { base.OnShown(); _time = 3; UpdateView(); } private void UpdateView() { _ui.m_txtName.text = _storyFightCfg.targetName; _ui.m_txtDesc.text = _storyLevelCfg.desc; FieldCfg fieldCfg = FieldCfgArray.Instance.GetCfgs(FieldDataManager.Instance.c_difficulty)[0]; string num = StringUtil.GetColorText(string.Format("{0}/{1}", 0, fieldCfg.num), "#BB674E"); _ui.m_txtNum.text = string.Format("第{0}轮", num); _ui.m_loaNpc.url = ResPathUtil.GetNpcHeadPath(_storyFightCfg.targetRes); _ui.m_txtTime.text = string.Format("{0}秒后自动进入下一轮", _time); Timers.inst.Add(1, _time, OnTimerUpdate, 1); } private void OnTimerUpdate(object param) { _time -= (int)param; if (_time == 0) { Timers.inst.Remove(OnTimerUpdate); this.Hide(); } _ui.m_txtTime.text = string.Format("{0}秒后自动进入下一轮", _time); } private void OnBtnStopClick() { Timers.inst.Remove(OnTimerUpdate); Alert.Show("确认中止本轮挑战?") .SetLeftButton(true, "取消", (object data) => { Timers.inst.Add(1, _time, OnTimerUpdate, 1); }) .SetRightButton(true, "中止", (object data) => { this.Hide(); }); } protected override void OnHide() { base.OnHide(); } } }