1234567891011121314151617181920212223242526272829303132333435 |
- using System.Collections.Generic;
- using UnityEngine;
- namespace SC.XR.Unity
- {
- internal static class SCSetPropertyUtility
- {
- public static bool SetColor(ref Color currentValue, Color newValue)
- {
- if (currentValue.r == newValue.r && currentValue.g == newValue.g && currentValue.b == newValue.b && currentValue.a == newValue.a)
- return false;
- currentValue = newValue;
- return true;
- }
- public static bool SetStruct<T>(ref T currentValue, T newValue) where T : struct
- {
- if (EqualityComparer<T>.Default.Equals(currentValue, newValue))
- return false;
- currentValue = newValue;
- return true;
- }
- public static bool SetClass<T>(ref T currentValue, T newValue) where T : class
- {
- if ((currentValue == null && newValue == null) || (currentValue != null && currentValue.Equals(newValue)))
- return false;
- currentValue = newValue;
- return true;
- }
- }
- }
|