예제 #1
0
        /// <summary>
        /// Receive an incoming connection from an output node
        /// </summary>
        /// <param name="output">The output node to connect.</param>
        /// <returns>
        /// True if the extensions/connection types match
        /// and the connection was made.
        /// </returns>
        public virtual bool RecieveConnection(BaseOutputNode output)
        {
            logger.Info("Entered OutputNode: {0}", output.GetDisplayName());

            if (IsConnected())
            {
                if (Connector == output)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }

            if (this.CanConnectTo(output))
            {
                Connector = output;
                if (this.OnConnected == null)
                {
                    logger.Warn("OnConnected is null");
                }
                this.OnConnected?.Invoke();
                return(true);
            }

            return(false);
        }
예제 #2
0
 protected void AddOutputNode(BaseOutputNode node)
 {
     node.OnConnected  += OnNodeConnected;
     node.OnDisconnect += OnNodeDisconnected;
     OutputNodes.Add(node);
     OnNodeAdded?.Invoke(this, node);
 }