UiToggleChangeColor.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using Fort23.UTool;
  5. using UnityEngine;
  6. using UnityEngine.UI;
  7. public class UiToggleChangeColor : MonoBehaviour
  8. {
  9. public Text Text;
  10. public Color SelectColor;
  11. public Color NoSelectColor;
  12. public GameObject hideGam;
  13. private Toggle _toggle;
  14. private void Awake()
  15. {
  16. _toggle = GetComponent<Toggle>();
  17. if (_toggle != null)
  18. {
  19. _toggle.onValueChanged.AddListener((ison) =>
  20. {
  21. if (ison)
  22. {
  23. Text.color = SelectColor;
  24. }
  25. else
  26. {
  27. Text.color = NoSelectColor;
  28. }
  29. });
  30. }
  31. }
  32. private void Update()
  33. {
  34. Transform parentTransform = this.transform;
  35. Transform lastChildTransform = parentTransform.parent.GetChild(parentTransform.parent.childCount- 1);
  36. if (lastChildTransform == parentTransform)
  37. {
  38. hideGam?.SetActive(false);
  39. }
  40. else
  41. {
  42. hideGam?.SetActive(true);
  43. }
  44. // for (int i = 0; i < parentTransform.parent.childCount ; i++)
  45. // {
  46. // if (i == parentTransform.parent.childCount - 1)
  47. // {
  48. // parentTransform.parent.GetChild(i).GetComponent<UiToggleChangeColor>().hideGam?.SetActive(true);
  49. // }
  50. // else
  51. // {
  52. // parentTransform.parent.GetChild(i).GetComponent<UiToggleChangeColor>().hideGam?.SetActive(true);
  53. // }
  54. // }
  55. }
  56. }