Exemplo n.º 1
0
        public void Copy()
        {
            _copiedNodes.Clear();

            var sourceNodes = selection.OfType <GraphViewNode>().Where(node => !(node is StartGraphViewNode)).Select(node => node.Data.Node).ToList();
            var copiedData  = new List <GraphNode.NodeData>();

            foreach (var node in sourceNodes)
            {
                var copy = CloneNode(node);
                var data = new GraphNode.NodeData(copy);
                copiedData.Add(data);
                _copiedNodes.Add(copy);
            }

            foreach (var data in copiedData)
            {
                foreach (var connection in data.Connections)
                {
                    var index = connection.To != null?sourceNodes.IndexOf(connection.To) : -1;

                    connection.SetTarget(index >= 0 ? copiedData[index] : null);
                }
            }
        }
Exemplo n.º 2
0
        public GraphViewNode(GraphNode node)
        {
            AddToClassList(UssClassName);

            Data = new GraphNode.NodeData(node);

            _serializedObject = new SerializedObject(node);

            titleContainer.style.backgroundColor         = node.NodeColor;
            titleContainer.style.unityFontStyleAndWeight = FontStyle.Bold;

            m_CollapseButton.SetDisplayed(false);

            SetPosition(new Rect(node.GraphPosition, Vector2.zero));
        }
Exemplo n.º 3
0
 private void SetConnectionTarget(GraphNode.ConnectionData connection, GraphNode.NodeData target)
 {
     using (new ChangeScope(Graph))
         connection.SetTarget(target);
 }