public void RemoveArgument() { if (OutputDataPins.Count > 0) { NodeOutputDataPin odpToRemove = OutputDataPins.Last(); NodeInputTypePin itpToRemove = InputTypePins.Last(); GraphUtil.DisconnectOutputDataPin(odpToRemove); GraphUtil.DisconnectInputTypePin(itpToRemove); OutputDataPins.Remove(odpToRemove); InputTypePins.Remove(itpToRemove); } }
public void RemoveReturnType() { if (this != Method.MainReturnNode) { throw new InvalidOperationException("Can only remove return types on the main return node."); } if (InputDataPins.Count > 0) { NodeInputDataPin idpToRemove = InputDataPins.Last(); NodeInputTypePin itpToRemove = InputTypePins.Last(); GraphUtil.DisconnectInputDataPin(idpToRemove); GraphUtil.DisconnectInputTypePin(itpToRemove); InputDataPins.Remove(idpToRemove); InputTypePins.Remove(itpToRemove); } }
protected void AddInputTypePin(NodeTypeConstraints constraints) { InputTypePins.Add(new NodeInputTypePin(this, constraints)); }