internal static bool CheckBoolean(SerializedProperty propertyToCheck, object valueToMatch, ComparisionTestMethod testMethod) { switch (testMethod) { case ComparisionTestMethod.Equal: return(propertyToCheck.boolValue.Equals(valueToMatch)); default: LogMethodNotSupported(testMethod, valueToMatch); return(false); } }
internal static bool CheckInteger(SerializedProperty propertyToCheck, object valueToMatch, ComparisionTestMethod testMethod) { switch (testMethod) { case ComparisionTestMethod.Equal: return(propertyToCheck.intValue == (int)valueToMatch); case ComparisionTestMethod.Greater: return(propertyToCheck.intValue > (int)valueToMatch); case ComparisionTestMethod.Less: return(propertyToCheck.intValue < (int)valueToMatch); case ComparisionTestMethod.GreaterEqual: return(propertyToCheck.intValue >= (int)valueToMatch); case ComparisionTestMethod.LessEqual: return(propertyToCheck.intValue <= (int)valueToMatch); case ComparisionTestMethod.Mask: return((propertyToCheck.intValue & (int)valueToMatch) == (int)valueToMatch); default: return(false); } }
private static void LogMethodNotSupported(ComparisionTestMethod testMethod, object valueToMatch) { ToolboxEditorLog.LogWarning(string.Format("{0} comparision method is not supported for type: {1}.", testMethod, valueToMatch.GetType())); }
internal static bool CheckEnum(SerializedProperty propertyToCheck, object valueToMatch, ComparisionTestMethod testMethod) { return(CheckInteger(propertyToCheck, valueToMatch, testMethod)); }
internal static bool CheckObject(SerializedProperty propertyToCheck, object valueToMatch, ComparisionTestMethod testMethod) { switch (testMethod) { case ComparisionTestMethod.Equal: return(propertyToCheck.objectReferenceValue == (bool)valueToMatch); default: LogMethodNotSupported(testMethod, valueToMatch); return(false); } }
internal static bool CheckFloat(SerializedProperty propertyToCheck, object valueToMatch, ComparisionTestMethod testMethod) { switch (testMethod) { case ComparisionTestMethod.Equal: return(propertyToCheck.floatValue == (float)valueToMatch); case ComparisionTestMethod.Greater: return(propertyToCheck.floatValue > (float)valueToMatch); case ComparisionTestMethod.Less: return(propertyToCheck.floatValue < (float)valueToMatch); case ComparisionTestMethod.GreaterEqual: return(propertyToCheck.floatValue >= (float)valueToMatch); case ComparisionTestMethod.LessEqual: return(propertyToCheck.floatValue <= (float)valueToMatch); default: LogMethodNotSupported(testMethod, valueToMatch); return(false); } }