TravelTimeDetailView.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. using System.Collections;
  2. using UnityEngine;
  3. using UI.Travel;
  4. using ET;
  5. using FairyGUI;
  6. namespace GFGGame
  7. {
  8. public class TravelTimeDetailView : BaseWindow
  9. {
  10. private UI_TravelTimeDetailUI _ui;
  11. private ValueBarController _valueBarController;
  12. public override void Dispose()
  13. {
  14. if (_valueBarController != null)
  15. {
  16. _valueBarController.Dispose();
  17. _valueBarController = null;
  18. }
  19. if (_ui != null)
  20. {
  21. _ui.Dispose();
  22. _ui = null;
  23. }
  24. base.Dispose();
  25. }
  26. protected override void OnInit()
  27. {
  28. base.OnInit();
  29. packageName = UI_TravelTimeDetailUI.PACKAGE_NAME;
  30. _ui = UI_TravelTimeDetailUI.Create();
  31. viewCom = _ui.target;
  32. viewCom.Center();
  33. modal = true;
  34. viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
  35. _valueBarController = new ValueBarController(_ui.m_comValueBar);
  36. _ui.m_btnFinish.onClick.Add(OnClickBtnFinish);
  37. _ui.m_btnSpeedUp.onClick.Add(OnClickBtnSpeedUp);
  38. }
  39. protected override void OnShown()
  40. {
  41. base.OnShown();
  42. _valueBarController.OnShown();
  43. UpdateTime(null);
  44. Timers.inst.Add(1, -1, UpdateTime);
  45. }
  46. protected override void OnHide()
  47. {
  48. base.OnHide();
  49. Timers.inst.Remove(UpdateTime);
  50. _valueBarController.OnHide();
  51. }
  52. private void UpdateTime(object param)
  53. {
  54. long endTime = TravelDataManager.Instance.TravelData.EndTime;
  55. long curTime = TimeHelper.ServerNow();
  56. long time = endTime - curTime;
  57. if (curTime >= endTime)
  58. {
  59. Hide();
  60. return;
  61. }
  62. string timeStr = TimeUtil.FormattingTimeTo_HHmmss(time);
  63. _ui.m_txtTime.text = timeStr;
  64. CalculateNum(timeStr);
  65. }
  66. /// <summary>
  67. /// 计算立即完成需要的总消耗
  68. /// </summary>
  69. /// <param name="timeStr"></param>
  70. private void CalculateNum(string timeStr)
  71. {
  72. string[] strArr = timeStr.Split(':');
  73. int num = int.Parse(strArr[0]) + (int.Parse(strArr[1]) > 0 ? 1 : 0);
  74. _ui.m_numFinishSpend.text = num.ToString();
  75. }
  76. private void OnClickBtnFinish()
  77. {
  78. int spendNum = int.Parse(_ui.m_numFinishSpend.text);
  79. }
  80. private void OnClickBtnSpeedUp()
  81. {
  82. int spendNum = int.Parse(_ui.m_numSpeedUpSpend.text);
  83. }
  84. }
  85. }