public bool ToBool() { switch (valueType) { case PrimitiveValueType.Bool: return(boolValue); case PrimitiveValueType.Char: return(charValue != '\0'); case PrimitiveValueType.Byte: return(byteValue != 0); case PrimitiveValueType.SByte: return(sbyteValue != 0); case PrimitiveValueType.Short: return(shortValue != 0); case PrimitiveValueType.UShort: return(ushortValue != 0); case PrimitiveValueType.Int: return(intValue != 0); case PrimitiveValueType.UInt: return(uintValue != 0); case PrimitiveValueType.Long: return(longValue != 0); case PrimitiveValueType.ULong: return(ulongValue != 0); case PrimitiveValueType.Float: return(!Mathf.Approximately(floatValue, 0)); case PrimitiveValueType.Double: return(NumberHelpers.Approximately(doubleValue, 0)); default: return(default(bool)); } }
public bool ToBoolean(IFormatProvider provider = null) { switch (type) { case TypeCode.Boolean: return(m_BoolValue); case TypeCode.Char: return(m_CharValue != '\0'); case TypeCode.Byte: return(m_ByteValue != 0); case TypeCode.SByte: return(m_SByteValue != 0); case TypeCode.Int16: return(m_ShortValue != 0); case TypeCode.UInt16: return(m_UShortValue != 0); case TypeCode.Int32: return(m_IntValue != 0); case TypeCode.UInt32: return(m_UIntValue != 0); case TypeCode.Int64: return(m_LongValue != 0); case TypeCode.UInt64: return(m_ULongValue != 0); case TypeCode.Single: return(!Mathf.Approximately(m_FloatValue, 0)); case TypeCode.Double: return(NumberHelpers.Approximately(m_DoubleValue, 0)); default: return(default(bool)); } }