protected static void ReassignOutputType(ref NodeOutput output, Type newOutputType) { Node body = output.body; string outputName = output.name; // Store all valid connections that are not affected by the type change IEnumerable <NodeInput> validConnections = output.connections.Where((NodeInput connection) => connection.typeData.Type.IsAssignableFrom(newOutputType)); // Delete the output of the old type output.Delete(); // Create Output with new type NodeEditorCallbacks.IssueOnAddNodeKnob(NodeOutput.Create(body, outputName, newOutputType.AssemblyQualifiedName)); output = body.Outputs[body.Outputs.Count - 1]; // Restore the valid connections foreach (NodeInput input in validConnections) { input.ApplyConnection(output); } }
public NodeOutput CreateOutput(string outputName, string outputType, NodeSide nodeSide, float sidePosition) { return(NodeOutput.Create(this, outputName, outputType, nodeSide, sidePosition)); }
public NodeOutput CreateOutput(string outputName, string outputType, NodeSide nodeSide) { return(NodeOutput.Create(this, outputName, outputType, nodeSide)); }