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.target.onClick.Add(OnBtnGetClick); _ui.m_btnPhoto.onClick.Add(OnBtnPhotoClick); _ui.m_btnFieldGuide.onClick.Add(OnBtnFieldGuideClick); _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("xc_bjbj"); } 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(); Timers.inst.AddUpdate(CheckGuide); } protected override void OnHide() { base.OnHide(); _valueBarController.OnHide(); Timers.inst.Remove(UpdateTime); Timers.inst.Remove(CheckGuide); } protected override void RemoveEventListener() { base.RemoveEventListener(); EventAgent.RemoveEventListener(ConstMessage.TRAVEL_STATE_CHANGE, UpdateView); } private void UpdateView() { _ui.m_c1.selectedIndex = TravelDataManager.Instance.TravelData?.Status ?? 0; 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) { long endTime = TravelDataManager.Instance.TravelData.EndTime; long curTime = TimeHelper.ServerNow(); _ui.m_txtTime.text = ""; int secCount = (int)((endTime - curTime) / 1000); Timers.inst.Add(1, secCount + 2, UpdateTime); } } private void UpdateTime(object param) { long endTime = TravelDataManager.Instance.TravelData.EndTime; long curTime = TimeHelper.ServerNow(); 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 >= RoleDataManager.WanShuiQianShanMaxStorageCount) { PromptController.Instance.ShowFloatTextPrompt("明信片装不下了,先删除一些再去游历吧"); return; } long hasCount = ItemDataManager.GetItemNum(GlobalCfgArray.globalCfg.travelCostArr[0]); if (hasCount < GlobalCfgArray.globalCfg.travelCostArr[1]) { 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 }); } private void CheckGuide(object param) { if (GuideDataManager.IsGuideFinish(ConstGuideId.TRAVEL) <= 0) { UpdateToCheckGuide(null); } else { Timers.inst.Remove(CheckGuide); } } protected override void UpdateToCheckGuide(object param) { if (!ViewManager.CheckIsTopView(this.viewCom)) return; GuideController.TryGuide(null, ConstGuideId.TRAVEL, 1, "四方关津已经打通,带上心仪的服饰,就可以外出游历啦!", -1, true, _ui.m_btnPhoto.y + _ui.m_btnPhoto.height + 100); GuideController.TryCompleteGuide(ConstGuideId.TRAVEL, 1); } } }