Example #1
0
        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);
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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);
            }
        }
Example #4
0
        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);
            }
        }