123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- 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;
- }
- 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);
- }
- }
- }
|