示例#1
0
        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);
            }
        }
示例#2
0
 public NodeOutput CreateOutput(string outputName, string outputType, NodeSide nodeSide, float sidePosition)
 {
     return(NodeOutput.Create(this, outputName, outputType, nodeSide, sidePosition));
 }
示例#3
0
 public NodeOutput CreateOutput(string outputName, string outputType, NodeSide nodeSide)
 {
     return(NodeOutput.Create(this, outputName, outputType, nodeSide));
 }