using ET; using FairyGUI; using UI.Travel; using UnityEngine; namespace GFGGame { public class TravelView : BaseWindow { private UI_TravelUI _ui; private ValueBarController _valueBarController; public override void Dispose() { if (_valueBarController != null) { _valueBarController.Dispose(); _valueBarController = null; } if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_TravelUI.PACKAGE_NAME; _ui = UI_TravelUI.Create(); this.viewCom = _ui.target; isfullScreen = true; _valueBarController = new ValueBarController(_ui.m_comValueBar); _ui.m_btnback.onClick.Add(OnBtnBackClick); // _ui.m_btnTips.onClick.Add(OnBtnTipsClick); _ui.m_btnGo.target.onClick.Add(OnBtnGoClick); _ui.m_btnGet.onClick.Add(OnBtnGetClick); _ui.m_btnPhoto.onClick.Add(OnBtnPhotoClick); _ui.m_btnFieldGuide.onClick.Add(OnBtnFieldGuideClick); } protected override void AddEventListener() { base.AddEventListener(); EventAgent.AddEventListener(ConstMessage.TRAVEL_STATE_CHANGE, UpdateView); } protected override void OnShown() { base.OnShown(); _valueBarController.OnShown(); _valueBarController.Controller(7); UpdateView(); } protected override void OnHide() { base.OnHide(); _valueBarController.OnHide(); Timers.inst.Remove(UpdateTime); } protected override void RemoveEventListener() { base.RemoveEventListener(); EventAgent.RemoveEventListener(ConstMessage.TRAVEL_STATE_CHANGE, UpdateView); } private void UpdateView() { _ui.m_c1.selectedIndex = TravelDataManager.Instance.TravelData.Status; if (_ui.m_c1.selectedIndex == (int)TravelGuideType.NoTravel) { ItemCfg cfg = ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.travelCostArr[0]); _ui.m_btnGo.m_loaIcon.url = ResPathUtil.GetCommonGameResPath(cfg.res); _ui.m_btnGo.m_txtCount.text = string.Format("-{0}", GlobalCfgArray.globalCfg.travelCostArr[1]); } else if (_ui.m_c1.selectedIndex == (int)TravelGuideType.Travel) { int endTime = (int)(TravelDataManager.Instance.TravelData.CreationTime / 1000) + TravelDataManager.Instance.TravelData.TravelNeedHour * 5;// * int curTime = TimeHelper.ServerNowSecs; _ui.m_txtTime.text = string.Format("大约{0}后归来", TimeUtil.FormattingTime(curTime, endTime)); Timers.inst.Add(1, endTime - curTime + 2, UpdateTime); } } private void UpdateTime(object param) { int endTime = (int)(TravelDataManager.Instance.TravelData.CreationTime / 1000) + TravelDataManager.Instance.TravelData.TravelNeedHour * 5;// * TimeUtil.SECOND_PER_HOUR int curTime = TimeHelper.ServerNowSecs; if (curTime >= endTime) { Timers.inst.Remove(UpdateTime); TravelDataManager.Instance.TravelData.Status = (int)TravelGuideType.TravelComplete; _ui.m_txtTime.text = ""; UpdateView(); } _ui.m_txtTime.text = string.Format("大约{0}后归来", TimeUtil.FormattingTime(curTime, endTime)); } private void OnBtnBackClick() { ViewManager.GoBackFrom(typeof(TravelView).FullName); } // private void OnBtnTipsClick() // { // } private void OnBtnGoClick() { if (PoemPhotoDataManager.Instance.WsqsPhotoInfos.Count >= GlobalCfgArray.globalCfg.maxTravelCount) { PromptController.Instance.ShowFloatTextPrompt("明信片装不下了,先删除一些再去游历吧"); return; } ViewManager.Show(null, new object[] { typeof(TravelView).FullName, this.viewData }); } private void OnBtnGetClick() { ViewManager.Show(null, new object[] { typeof(TravelView).FullName, this.viewData }); } private void OnBtnPhotoClick() { ViewManager.Show(PictureSourceType.WanShuiQianShan, new object[] { typeof(TravelView).FullName, this.viewData }); } private void OnBtnFieldGuideClick() { ViewManager.Show(null, new object[] { typeof(TravelView).FullName, this.viewData }); } } }