修改了无法保存项目文件的bug

This commit is contained in:
fengjiayi
2024-09-17 14:20:27 +08:00
parent e20855a076
commit afadbc5a95
36 changed files with 3023 additions and 772 deletions

View File

@@ -19,13 +19,13 @@ namespace Serein.NodeFlow.Model
ActionNodes = actionNodes;
}
public override Parameterdata[] GetParameterdatas()
internal override Parameterdata[] GetParameterdatas()
{
return [];
}
public override NodeInfo ToInfo()
internal override NodeInfo ToInfo()
{
if (MethodDetails == null) return null;
@@ -35,8 +35,8 @@ namespace Serein.NodeFlow.Model
//var errorNodes = ErrorBranch.Select(item => item.Guid);// 异常分支
var trueNodes = SuccessorNodes[ConnectionType.IsSucceed].Select(item => item.Guid); // 真分支
var falseNodes = SuccessorNodes[ConnectionType.IsFail].Select(item => item.Guid);// 假分支
var upstreamNodes = SuccessorNodes[ConnectionType.IsError].Select(item => item.Guid);// 上游分支
var errorNodes = SuccessorNodes[ConnectionType.Upstream].Select(item => item.Guid);// 异常分支
var errorNodes = SuccessorNodes[ConnectionType.IsError].Select(item => item.Guid);// 异常分支
var upstreamNodes = SuccessorNodes[ConnectionType.Upstream].Select(item => item.Guid);// 上游分支
// 生成参数列表
Parameterdata[] parameterData = GetParameterdatas();
@@ -51,7 +51,7 @@ namespace Serein.NodeFlow.Model
UpstreamNodes = upstreamNodes.ToArray(),
ParameterData = parameterData.ToArray(),
ErrorNodes = errorNodes.ToArray(),
ChildNodes = ActionNodes.Select(node => node.ToInfo()).ToArray(),
ChildNodeGuids = ActionNodes.Select(node => node.Guid).ToArray(),
};
}
}

View File

@@ -61,14 +61,14 @@ namespace Serein.NodeFlow.Model
}
}
public override Parameterdata[] GetParameterdatas()
internal override Parameterdata[] GetParameterdatas()
{
return [];
}
public override NodeInfo ToInfo()
internal override NodeInfo ToInfo()
{
if (MethodDetails == null) return null;
//if (MethodDetails == null) return null;
//var trueNodes = SucceedBranch.Select(item => item.Guid); // 真分支
//var falseNodes = FailBranch.Select(item => item.Guid);// 假分支
@@ -76,8 +76,8 @@ namespace Serein.NodeFlow.Model
//var errorNodes = ErrorBranch.Select(item => item.Guid);// 异常分支
var trueNodes = SuccessorNodes[ConnectionType.IsSucceed].Select(item => item.Guid); // 真分支
var falseNodes = SuccessorNodes[ConnectionType.IsFail].Select(item => item.Guid);// 假分支
var upstreamNodes = SuccessorNodes[ConnectionType.IsError].Select(item => item.Guid);// 上游分支
var errorNodes = SuccessorNodes[ConnectionType.Upstream].Select(item => item.Guid);// 异常分支
var errorNodes = SuccessorNodes[ConnectionType.IsError].Select(item => item.Guid);// 异常分支
var upstreamNodes = SuccessorNodes[ConnectionType.Upstream].Select(item => item.Guid);// 上游分支
// 生成参数列表
Parameterdata[] parameterData = GetParameterdatas();
@@ -93,7 +93,7 @@ namespace Serein.NodeFlow.Model
UpstreamNodes = upstreamNodes.ToArray(),
ParameterData = parameterData.ToArray(),
ErrorNodes = errorNodes.ToArray(),
ChildNodes = ConditionNodes.Select(node => node.ToInfo()).ToArray(),
ChildNodeGuids = ConditionNodes.Select(node => node.Guid).ToArray(),
};
}

View File

@@ -64,15 +64,15 @@ namespace Serein.NodeFlow.Model
// context.SetFlowData(result);
// }
//}
public override Parameterdata[] GetParameterdatas()
internal override Parameterdata[] GetParameterdatas()
{
if (base.MethodDetails.ExplicitDatas.Length > 0)
{
return MethodDetails.ExplicitDatas
.Select(it => new Parameterdata
{
state = it.IsExplicitData,
value = it.DataValue,
State = it.IsExplicitData,
Value = it.DataValue,
})
.ToArray();
}

View File

@@ -55,31 +55,43 @@ namespace Serein.NodeFlow.Model
return result;
}
public override Parameterdata[] GetParameterdatas()
internal override Parameterdata[] GetParameterdatas()
{
if (base.MethodDetails.ExplicitDatas.Length > 0)
var value = CustomData switch
{
return MethodDetails.ExplicitDatas
.Select(it => new Parameterdata
{
state = IsCustomData,
expression = Expression,
value = CustomData switch
{
Type when CustomData.GetType() == typeof(int)
&& CustomData.GetType() == typeof(double)
&& CustomData.GetType() == typeof(float)
=> ((double)CustomData).ToString(),
Type when CustomData.GetType() == typeof(bool) => ((bool)CustomData).ToString(),
_ => CustomData?.ToString()!,
}
})
.ToArray();
}
else
Type when CustomData.GetType() == typeof(int)
&& CustomData.GetType() == typeof(double)
&& CustomData.GetType() == typeof(float)
=> ((double)CustomData).ToString(),
Type when CustomData.GetType() == typeof(bool) => ((bool)CustomData).ToString(),
_ => CustomData?.ToString()!,
};
return [new Parameterdata
{
return [];
State = IsCustomData,
Expression = Expression,
Value = value,
}];
}
internal override NodeModelBase LoadInfo(NodeInfo nodeInfo)
{
var node = this;
if (node != null)
{
node.Guid = nodeInfo.Guid;
for (int i = 0; i < nodeInfo.ParameterData.Length; i++)
{
Parameterdata? pd = nodeInfo.ParameterData[i];
node.IsCustomData = pd.State;
node.CustomData = pd.Value;
node.Expression = pd.Expression;
}
}
return this;
}
//public override void Execute(DynamicContext context)

View File

@@ -48,23 +48,25 @@ namespace Serein.NodeFlow.Model
}
public override Parameterdata[] GetParameterdatas()
internal override Parameterdata[] GetParameterdatas()
{
if (base.MethodDetails.ExplicitDatas.Length > 0)
return [new Parameterdata{ Expression = Expression}];
}
internal override NodeModelBase LoadInfo(NodeInfo nodeInfo)
{
var node = this;
if (node != null)
{
return MethodDetails.ExplicitDatas
.Select(it => new Parameterdata
{
state = it.IsExplicitData,
// value = it.DataValue,
expression = Expression,
})
.ToArray();
}
else
{
return [];
node.Guid = nodeInfo.Guid;
for (int i = 0; i < nodeInfo.ParameterData.Length; i++)
{
node.Expression = nodeInfo.ParameterData[i].Expression;
}
}
return this;
}
}
}

View File

@@ -15,15 +15,15 @@ namespace Serein.NodeFlow.Model
return null;
}
public override Parameterdata[] GetParameterdatas()
internal override Parameterdata[] GetParameterdatas()
{
if (base.MethodDetails.ExplicitDatas.Length > 0)
{
return MethodDetails.ExplicitDatas
.Select(it => new Parameterdata
{
state = it.IsExplicitData,
value = it.DataValue
State = it.IsExplicitData,
Value = it.DataValue
})
.ToArray();
}