void RemoveConnection(ScriptNodeConnection connection) { if (connection == null) { return; } var linkCache = connection.OutputElement.As <ScriptNodeLinkCache>(); if (linkCache == null) { throw new System.Exception("We need ScriptNodeLinkCache adaptable for nodes"); } linkCache.FromThisNode.Remove(connection); var linkCacheTo = connection.InputElement.As <ScriptNodeLinkCache>(); if (linkCacheTo == null) { throw new System.Exception("We need ScriptNodeLinkCache adaptable for nodes"); } linkCacheTo.ToThisNode.Remove(connection); }
public void NewConnectionToThis(ScriptNodeConnection connection) { var pinInfo = connection.InputPin; NodePin pinList; m_ToThisNodePin.TryGetValue(pinInfo.Name, out pinList); if (pinList == null) { pinList = new NodePin() { Name = new NameString(pinInfo.Name), Type = new NameString(pinInfo.PinType.Name), LinkTo = new List <NodeLink>() }; } if (pinList.LinkTo.Find(x => x.Connection == connection) == null) { var newPinInfo = new NodeLink() { Connection = connection, Target = connection.InputElement.As <ScriptGraphNode>(), Pin = new NodePin() }; pinList.LinkTo.Add(newPinInfo); } }
void AddConnection(ScriptNodeConnection connection) { if (connection == null) { return; } var linkCache = connection.OutputElement.As <ScriptNodeLinkCache>(); if (linkCache != null) { linkCache.NewConnectionFromThis(connection); } var linkGraph = connection.OutputElement.As <ScriptGraphNode>(); if (linkGraph != null) { linkGraph.NewConnectionFromThis(connection); } var linkCacheTo = connection.InputElement.As <ScriptNodeLinkCache>(); if (linkCacheTo != null) { linkCacheTo.NewConnectionToThis(connection); } var linkGraphTo = connection.InputElement.As <ScriptGraphNode>(); if (linkGraphTo != null) { linkGraphTo.NewConnectionToThis(connection); } }
public void NewConnectionToThis(ScriptNodeConnection connection) { ToThisNode.Add(connection); List <ScriptNodeConnection> pinList; m_ToThisNodePin.TryGetValue(connection.InputPin, out pinList); if (pinList == null) { pinList = new List <ScriptNodeConnection>(); } if (pinList.Find(x => x == connection) == null) { pinList.Add(connection); } }