private void OnNodeRemoved(object sender, NodeEventArgs e) { var nodeView = (e.Node as NodeView); Project.Node node = nodeView?.Node; AgentBlueprint.Brain.Sensors.Remove(node); AgentBlueprint.Brain.Actuators.Remove(node); AgentBlueprint.Brain.Regions.Remove(node as Region); nodeView?.Dispose(); }
private void OnConnectionAdded(object sender, AcceptNodeConnectionEventArgs e) { NodeConnection graphConnection = e.Connection; Project.Node nodeFrom = (graphConnection.From.Node as NodeView)?.Node; Project.Node nodeTo = (graphConnection.To.Node as NodeView)?.Node; var indexFrom = (int)graphConnection.From.Item.Tag; var indexTo = (int)graphConnection.To.Item.Tag; if (nodeTo.InputPorts[indexTo] != null) { e.Cancel = true; return; } var connection = new Connection(nodeFrom, indexFrom, nodeTo, indexTo); connection.Connect(); graphConnection.Tag = connection; }
private void AddNodeView(Project.Node node) { Desktop.AddNode(new NodeView(node, Desktop)); }