WaterRangeCtrl_UI.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using DG.Tweening;
  5. using UnityEngine;
  6. using UnityEngine.UI;
  7. public class WaterRangeCtrl_UI : MonoBehaviour
  8. {
  9. public LerpSlider rangeSlider;
  10. public Button ShuiweiButton_1;
  11. public Button ShuiweiButton_2;
  12. private CanvasGroup button_CG1;
  13. private CanvasGroup button_CG2;
  14. public Button _playButton;
  15. private Tween playT;
  16. private void Awake()
  17. {
  18. rangeSlider = this.transform.Find("WaterRangeSilder").GetComponent<LerpSlider>();
  19. ShuiweiButton_1 = this.transform.Find("Shuiwei_1_Button").GetComponent<Button>();
  20. button_CG1 = ShuiweiButton_1.GetComponent<CanvasGroup>();
  21. ShuiweiButton_2 = this.transform.Find("Shuiwei_2_Button").GetComponent<Button>();
  22. button_CG2 = ShuiweiButton_2.GetComponent<CanvasGroup>();
  23. rangeSlider.OnPointDown += CanCelTween;
  24. rangeSlider.onValueChanged.AddListener((sliderValue)=>
  25. {
  26. WaterRangeCtrlTool._Instance.SetRangeValue(sliderValue);
  27. });
  28. ShuiweiButton_1.onClick.AddListener(()=>
  29. {
  30. WaterRangeCtrlTool._Instance.ChangeWaterCurve(0);
  31. button_CG1.alpha = 1;
  32. button_CG2.alpha = 0.2f;
  33. rangeSlider.value = 0;
  34. WaterRangeCtrlTool._Instance.ShowFx(true);
  35. });
  36. ShuiweiButton_2.onClick.AddListener(()=>
  37. {
  38. WaterRangeCtrlTool._Instance.ChangeWaterCurve(1);
  39. button_CG1.alpha = 0.2f;
  40. button_CG2.alpha = 1;
  41. rangeSlider.value = 0;
  42. WaterRangeCtrlTool._Instance.ShowFx(true);
  43. });
  44. _playButton = this.transform.Find("PlayButton").GetComponent<Button>();
  45. _playButton.onClick.AddListener(PlayRangeSlider);
  46. }
  47. private void PlayRangeSlider()
  48. {
  49. rangeSlider.UseLerping = false;
  50. rangeSlider.value = 0;
  51. playT = rangeSlider.DOValue(1.0f, 4.0f);
  52. }
  53. public void CanCelTween()
  54. {
  55. if (playT != null)
  56. {
  57. playT.Kill();
  58. playT = null;
  59. }
  60. }
  61. private void OnEnable()
  62. {
  63. button_CG1.alpha = 1;
  64. button_CG2.alpha = 0.2f;
  65. WaterRangeCtrlTool._Instance.ChangeWaterCurve(0);
  66. rangeSlider.value = 0;
  67. WaterRangeCtrlTool._Instance.ShowFx(true);
  68. StaticLod.instance.lodAvalible = false;
  69. }
  70. private void OnDisable()
  71. {
  72. StaticLod.instance.lodAvalible = true;
  73. WaterRangeCtrlTool._Instance.HideFx();
  74. }
  75. }