Пример #1
0
        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();
        }
Пример #2
0
        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;
        }
Пример #3
0
 private void AddNodeView(Project.Node node)
 {
     Desktop.AddNode(new NodeView(node, Desktop));
 }