123456789101112131415161718192021222324252627282930313233343536 |
- using System.Collections.Generic;
- using UnityEngine;
- namespace XGame.Framework.Utils
- {
- /// <summary>
- /// 属性设置工具类
- /// </summary>
- public static class PropertyUtils
- {
- 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;
- }
- }
- }
|