Files
BH3/Assets/Scripts/Assembly-CSharp/UnityEngine/UI/SetPropertyUtility.cs
2025-08-13 09:26:42 +08:00

36 lines
834 B
C#

namespace UnityEngine.UI
{
internal static class SetPropertyUtility
{
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 (currentValue.Equals(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;
}
}
}