private void AddConnectionWith(PointerDCN <T> typedNode, ConnectionDirection direction) { Helpers <T> .Verify_AddConnectionWith_ConditionsAreSatisfied(typedNode, this); this.InternalAddNodeConnectionRequest(typedNode, direction); typedNode.InternalAddNodeConnectionRequest(this, direction.Invert()); }
void IDirectedConnectedNodeCollection <T> .ConnectNodes(IDirectedConnectedNode <T> firstNode, IDirectedConnectedNode <T> secondNode, ConnectionDirection direction) { Helpers <T> .Verify_ConnectNodes_ConditionsAreSatisfied(firstNode, secondNode, this); var typedFirstNode = TypedHelpers.GetNodeAsValidType <PointerDCN <T>, T>(firstNode); var typedSecondNode = TypedHelpers.GetNodeAsValidType <PointerDCN <T>, T>(secondNode); typedFirstNode.InternalAddNodeConnectionRequest(typedSecondNode, direction); typedSecondNode.InternalAddNodeConnectionRequest(typedFirstNode, direction.Invert()); }
private void RemoveConnectionWith(PointerDCN <T> typedNode, ConnectionDirection direction) { if (Helpers <T> .CheckWhether_RemoveConnectionWith_IsNeeded(typedNode, this)) { return; } this.InternalRemoveNodeConnectionRequest(typedNode, direction); typedNode.InternalRemoveNodeConnectionRequest(this, direction.Invert()); }
void IDirectedConnectedNodeCollection <T> .DisconnectNodes(IDirectedConnectedNode <T> firstNode, IDirectedConnectedNode <T> secondNode, ConnectionDirection direction) { if (Helpers <T> .CheckDisconnectNodesConditions(firstNode, secondNode, this)) { return; } var typedFirstNode = TypedHelpers.GetNodeAsValidType <PointerDCN <T>, T>(firstNode); var typedSecondNode = TypedHelpers.GetNodeAsValidType <PointerDCN <T>, T>(secondNode); typedFirstNode.InternalRemoveNodeConnectionRequest(typedSecondNode, direction); typedSecondNode.InternalRemoveNodeConnectionRequest(typedFirstNode, direction.Invert()); }