| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 | using System.Collections;using UnityEngine;using UI.Travel;using ET;using FairyGUI;using System.Collections.Generic;namespace GFGGame{    public class TravelTimeDetailView : BaseWindow    {        private UI_TravelTimeDetailUI _ui;        private ValueBarController _valueBarController;        private const int spendItemID = 3000102;        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_TravelTimeDetailUI.PACKAGE_NAME;            _ui = UI_TravelTimeDetailUI.Create();            viewCom = _ui.target;            viewCom.Center();            modal = true;            viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;            _valueBarController = new ValueBarController(_ui.m_comValueBar);            _ui.m_btnFinish.onClick.Add(OnClickBtnFinish);            _ui.m_btnSpeedUp.onClick.Add(OnClickBtnSpeedUp);            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(spendItemID);            _ui.m_iconFinishSpend.url = ResPathUtil.GetIconPath(itemCfg.res, "png");            _ui.m_iconSpeedUpSpend.url = _ui.m_iconFinishSpend.url;            _ui.m_spend.url = _ui.m_iconFinishSpend.url;        }        protected override void OnShown()        {            base.OnShown();            _valueBarController.OnShown();            _valueBarController.UpdateList(new List<int>() { spendItemID });            UpdateTime(null);            Timers.inst.Add(1, -1, UpdateTime);        }        protected override void OnHide()        {            base.OnHide();            Timers.inst.Remove(UpdateTime);            _valueBarController.OnHide();        }        private void UpdateTime(object param)        {            long endTime = TravelDataManager.Instance.TravelData.EndTime;            long curTime = TimeHelper.ServerNow();            long time = endTime - curTime;            if (curTime >= endTime)            {                Hide();                EventAgent.DispatchEvent(ConstMessage.TRAVEL_STATE_CHANGE);                return;            }            string timeStr = TimeUtil.FormattingTimeTo_HHmmss(time);            _ui.m_txtTime.text = timeStr;            CalculateNum(timeStr);        }        /// <summary>        /// 计算立即完成需要的总消耗        /// </summary>        /// <param name="timeStr"></param>        private void CalculateNum(string timeStr)        {            string[] strArr = timeStr.Split(':');            int num = int.Parse(strArr[0]) + (int.Parse(strArr[1]) > 0 ? 1 : 0);            _ui.m_numFinishSpend.text = num.ToString();                                                                                                       }        private void OnClickBtnFinish()        {            int spendNum = int.Parse(_ui.m_numFinishSpend.text);            List<ItemInfoProto> list = new List<ItemInfoProto>();            ItemInfoProto item = new ItemInfoProto            {                ConfigId = spendItemID,                Count = spendNum            };            list.Add(item);            SpeedUp(1, list);        }        private void OnClickBtnSpeedUp()        {            int spendNum = int.Parse(_ui.m_numSpeedUpSpend.text);            List<ItemInfoProto> list = new List<ItemInfoProto>();            ItemInfoProto item = new ItemInfoProto            {                ConfigId = spendItemID,                Count = spendNum            };            list.Add(item);            SpeedUp(2, list);        }        private async void SpeedUp(int type, List<ItemInfoProto> list)        {            await TravelSProxy.ReqTravelSpeedUp(type, list);            UpdateTime(null);        }    }}
 |