添加逻辑节点支持字符串值

This commit is contained in:
艾竹
2023-04-19 22:26:04 +08:00
parent 451df2d5de
commit f8340b5885
10 changed files with 1141 additions and 51 deletions

View File

@@ -262,47 +262,47 @@ namespace AIStudio.Wpf.DiagramDesigner
AddConnector(connector);
}
public List<ValueTypePoint> ValueTypeInput
public List<ValueType> ValueTypeInput
{
get
{
if (LogicalType == LogicalType.NOT)
{
return new List<ValueTypePoint>() { ValueTypePoint.Bool };
return new List<ValueType>() { ValueType.Bool };
}
else if (LogicalType == LogicalType.AND || LogicalType == LogicalType.OR || LogicalType == LogicalType.XOR
|| LogicalType == LogicalType.SHL || LogicalType == LogicalType.SHR || LogicalType == LogicalType.ROL || LogicalType == LogicalType.ROR)
{
return new List<ValueTypePoint>() { ValueTypePoint.Int };
return new List<ValueType>() { ValueType.Int };
}
else if (LogicalType == LogicalType.SEL)
{
return new List<ValueTypePoint>() { ValueTypePoint.Bool, ValueTypePoint.Real, ValueTypePoint.Real };
return new List<ValueType>() { ValueType.Bool, ValueType.Real, ValueType.Real };
}
else
{
return new List<ValueTypePoint>() { ValueTypePoint.Real };
return new List<ValueType>() { ValueType.Real };
}
}
}
public List<ValueTypePoint> ValueTypeOutput
public List<ValueType> ValueTypeOutput
{
get
{
if (LogicalType == LogicalType.GT || LogicalType == LogicalType.LT || LogicalType == LogicalType.GE || LogicalType == LogicalType.LE || LogicalType == LogicalType.EQ || LogicalType == LogicalType.NE
|| LogicalType == LogicalType.NOT)
{
return new List<ValueTypePoint>() { ValueTypePoint.Bool };
return new List<ValueType>() { ValueType.Bool };
}
else if (LogicalType == LogicalType.AND || LogicalType == LogicalType.OR || LogicalType == LogicalType.XOR
|| LogicalType == LogicalType.SHL || LogicalType == LogicalType.SHR || LogicalType == LogicalType.ROL || LogicalType == LogicalType.ROR)
{
return new List<ValueTypePoint>() { ValueTypePoint.Int };
return new List<ValueType>() { ValueType.Int };
}
else
{
return new List<ValueTypePoint>() { ValueTypePoint.Real };
return new List<ValueType>() { ValueType.Real };
}
}
}
@@ -332,11 +332,11 @@ namespace AIStudio.Wpf.DiagramDesigner
if (LogicalType == LogicalType.Output)
{
input.Value.ValueTypePoint = (connector.SourceConnectorInfo as LogicalConnectorInfo).ValueTypePoint;
input.Value.ValueType = (connector.SourceConnectorInfo as LogicalConnectorInfo).ValueType;
}
else if (LogicalType == LogicalType.NOT)
{
input.Value.ValueTypePoint = ((connector.SourceConnectorInfo as LogicalConnectorInfo).ValueTypePoint == ValueTypePoint.Bool) ? ValueTypePoint.Bool : ValueTypePoint.Int;
input.Value.ValueType = ((connector.SourceConnectorInfo as LogicalConnectorInfo).ValueType == ValueType.Bool) ? ValueType.Bool : ValueType.Int;
}
}
}
@@ -346,7 +346,7 @@ namespace AIStudio.Wpf.DiagramDesigner
{
foreach (var output in Output)
{
if (output.Value.ValueTypePoint == ValueTypePoint.Bool)
if (output.Value.ValueType == ValueType.Bool)
{
if (output.Value.ConnectorValue == 0)
{