protected void AddInputNode(BaseInputNode node) { node.OnConnected += OnNodeConnected; node.OnDisconnect += OnNodeDisconnected; InputNodes.Add(node); OnNodeAdded?.Invoke(this, node); }
/// <summary> /// Connects an output node to an input. /// </summary> /// <param name="input">The input node to connect.</param> /// <returns> /// True if the extensions match and the connection was made. /// </returns> public virtual bool ConnectTo(BaseInputNode input) { if (IsConnected()) { if (Connector != input) { return(false); } return(true); } if (this.CanConnectTo(input)) { bool granted = input.RecieveConnection(this); if (granted) { Connector = input; this.OnConnected(); return(true); } return(false); } return(false); }