Maze / Library /PackageCache /com.unity.visualscripting@1.8.0 /Runtime /VisualScripting.Flow /Dependencies /NCalc /ValueExpression.cs
| using System; | |
| namespace Unity.VisualScripting.Dependencies.NCalc | |
| { | |
| public class ValueExpression : LogicalExpression | |
| { | |
| public ValueExpression(object value, ValueType type) | |
| { | |
| Value = value; | |
| Type = type; | |
| } | |
| public ValueExpression(object value) | |
| { | |
| switch (System.Type.GetTypeCode(value.GetType())) | |
| { | |
| case TypeCode.Boolean: | |
| Type = ValueType.Boolean; | |
| break; | |
| case TypeCode.DateTime: | |
| Type = ValueType.DateTime; | |
| break; | |
| case TypeCode.Decimal: | |
| case TypeCode.Double: | |
| case TypeCode.Single: | |
| Type = ValueType.Float; | |
| break; | |
| case TypeCode.Byte: | |
| case TypeCode.SByte: | |
| case TypeCode.Int16: | |
| case TypeCode.Int32: | |
| case TypeCode.Int64: | |
| case TypeCode.UInt16: | |
| case TypeCode.UInt32: | |
| case TypeCode.UInt64: | |
| Type = ValueType.Integer; | |
| break; | |
| case TypeCode.String: | |
| Type = ValueType.String; | |
| break; | |
| default: | |
| throw new EvaluationException("This value could not be handled: " + value); | |
| } | |
| Value = value; | |
| } | |
| public ValueExpression(string value) | |
| { | |
| Value = value; | |
| Type = ValueType.String; | |
| } | |
| public ValueExpression(int value) | |
| { | |
| Value = value; | |
| Type = ValueType.Integer; | |
| } | |
| public ValueExpression(float value) | |
| { | |
| Value = value; | |
| Type = ValueType.Float; | |
| } | |
| public ValueExpression(DateTime value) | |
| { | |
| Value = value; | |
| Type = ValueType.DateTime; | |
| } | |
| public ValueExpression(bool value) | |
| { | |
| Value = value; | |
| Type = ValueType.Boolean; | |
| } | |
| public object Value { get; set; } | |
| public ValueType Type { get; set; } | |
| public override void Accept(LogicalExpressionVisitor visitor) | |
| { | |
| visitor.Visit(this); | |
| } | |
| } | |
| public enum ValueType | |
| { | |
| Integer, | |
| String, | |
| DateTime, | |
| Float, | |
| Boolean | |
| } | |
| } | |