我已经阅读了一些与我的问题有关的问题,但我发现它们对某些程序设计非常具体,所以我希望能就我自己的具体案例得到一些建议......
我正在开发一个程序,它允许你根据节点图进行逻辑运算,例如,你有不同类型的节点; CostantNode和Addition节点,您可以绘制两个常量并将它们链接到Addition节点,这样最后一个将处理输入并抛出结果.到目前为止,Node类有一个虚拟方法用于处理:
//Node Logic
public virtual float Process(Dictionary<Guid, Node> allNodes)
{
//Override logic on child nodes.
return Value;
}
Run Code Online (Sandbox Code Playgroud)
这个方法覆盖了每个派生的nodeType,例如:
/// <summary>
/// We pass Allnodes in so the Node doesnt need any static reference to all the nodes.
/// </summary>
/// <param name="allNodes"></param>
/// <returns>Addition result (float)</returns>
public override float Process(Dictionary<Guid, Node> allNodes)
{
//We concatenate the different input values in here:
float Result = 0;
if (Input.Count >= 2)
{
for (int i = 0; i < …Run Code Online (Sandbox Code Playgroud) c# ×1