HRB_DegreaseView.cs 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using JCUnityLib;
  6. using JCUnityLib.UI;
  7. public class HRB_DegreaseView : ViewBase, MenuBackInterface
  8. {
  9. InputField inputField_bmpMin;
  10. Text text_TimeCounter;
  11. private bool _isTimeCounterStart;
  12. private float _curTimeCount;
  13. void Start()
  14. {
  15. GetComponentInChildren<TwoPoleSwitch>().onClick = (v) => {
  16. AudioMgr.ins.PlayBtn();
  17. return true;
  18. };
  19. text_TimeCounter = transform.Find("TimeCounter").GetComponentInChildren<Text>();
  20. inputField_bmpMin = transform.Find("BoxBMP/BoxA").GetComponentInChildren<InputField>();
  21. inputField_bmpMin.onEndEdit.AddListener((s) => {
  22. int value = int.Parse(s);
  23. if (value < 0 || value > 250) PopupMgr.ins.ShowTip("输入的值不在合理范围!");
  24. HRB_UserInfo.current.bmpMin = Mathf.Clamp(value, 0, 250);
  25. HRB_UserInfo.current.SaveLocalData();
  26. RenderBmpMin();
  27. });
  28. RenderBmpMin();
  29. transform.Find("TimeClearer").GetComponent<Button>().onClick.AddListener(() => {
  30. AudioMgr.ins.PlayBtn();
  31. _curTimeCount = 0;
  32. RenderTimeCounter();
  33. });
  34. transform.Find("TimeCtrl").GetComponent<Button>().onClick.AddListener(() => {
  35. AudioMgr.ins.PlayBtn();
  36. _isTimeCounterStart = !_isTimeCounterStart;
  37. transform.Find("TimeCtrl/IconPlay").gameObject.SetActive(!_isTimeCounterStart);
  38. transform.Find("TimeCtrl/TextPlay").gameObject.SetActive(!_isTimeCounterStart);
  39. transform.Find("TimeCtrl/IconPause").gameObject.SetActive(_isTimeCounterStart);
  40. transform.Find("TimeCtrl/TextPause").gameObject.SetActive(_isTimeCounterStart);
  41. });
  42. }
  43. void Update()
  44. {
  45. UpdateForTimeCounter();
  46. }
  47. void OnEnable()
  48. {
  49. PersistenHandler.ins?.menuBackCtr.views.Add(this);
  50. }
  51. void OnDisable()
  52. {
  53. PersistenHandler.ins?.menuBackCtr.views.Remove(this);
  54. }
  55. public bool OnMenuBack()
  56. {
  57. HRB_ViewMgr.Instance.HideView<HRB_DegreaseView>();
  58. return true;
  59. }
  60. public void OnClick_Back()
  61. {
  62. AudioMgr.ins.PlayBtn();
  63. HRB_ViewMgr.Instance.HideView<HRB_DegreaseView>();
  64. }
  65. void RenderBmpMin()
  66. {
  67. inputField_bmpMin.text = HRB_UserInfo.current.bmpMin.ToString();
  68. }
  69. void UpdateForTimeCounter()
  70. {
  71. if (_isTimeCounterStart)
  72. {
  73. _curTimeCount += Time.deltaTime;
  74. RenderTimeCounter();
  75. }
  76. }
  77. void RenderTimeCounter()
  78. {
  79. string m = ((Mathf.FloorToInt(_curTimeCount) / 60) % 60).ToString();
  80. if (m.Length == 1) m = "0" + m;
  81. string s = (Mathf.FloorToInt(_curTimeCount) % 60).ToString();
  82. if (s.Length == 1) s = "0" + s;
  83. string ms =_curTimeCount.ToString("#0.00").Split('.')[1];
  84. text_TimeCounter.text = $"{m}:{s}:{ms}";
  85. }
  86. }