SetPropertyUtility.cs 651 B

12345678910111213141516171819202122232425262728293031323334353637
  1. using System;
  2. namespace UnityEngine.UI
  3. {
  4. public static class SetPropertyUtility
  5. {
  6. public static bool SetColor(ref Color currentValue, Color newValue)
  7. {
  8. if (currentValue.r == newValue.r && currentValue.g == newValue.g && currentValue.b == newValue.b && currentValue.a == newValue.a)
  9. {
  10. return false;
  11. }
  12. currentValue = newValue;
  13. return true;
  14. }
  15. public static bool SetStruct<T>(ref T s, T val)
  16. {
  17. if (s.Equals(val))
  18. {
  19. s = val;
  20. return true;
  21. }
  22. return false;
  23. }
  24. public static bool SetClass<T>(ref T s, T val)
  25. {
  26. if (s.Equals(val))
  27. {
  28. s = val;
  29. return true;
  30. }
  31. return false;
  32. }
  33. }
  34. }