Exemple #1
0
        private void AddConnectionWith(PointerDCN <T> typedNode, ConnectionDirection direction)
        {
            Helpers <T> .Verify_AddConnectionWith_ConditionsAreSatisfied(typedNode, this);

            this.InternalAddNodeConnectionRequest(typedNode, direction);
            typedNode.InternalAddNodeConnectionRequest(this, direction.Invert());
        }
Exemple #2
0
        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());
        }
Exemple #3
0
        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());
        }
Exemple #4
0
        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());
        }