示例#1
0
        void OnNodeAdded(BaseNode _node)
        {
            BaseNodeView nodeView = AddNodeView(_node);

            //nodeView.RefreshExpandedState();
            nodeView.Initialized();
            SetDirty();
        }
        void InitializeInnerNodes()
        {
            int i = 0;

            foreach (var nodeGUID in Model.NodeGUIDs)
            {
                if (Owner.Model.Nodes.TryGetValue(nodeGUID, out BaseNode node))
                {
                    BaseNodeView nodeView = Owner.NodeViews[nodeGUID];
                    nodeView.AddToClassList("stack-child__" + i);
                    AddElement(nodeView);
                    i++;
                }
            }
        }
 protected override void OnElementsRemoved(IEnumerable <GraphElement> elements)
 {
     foreach (var element in elements)
     {
         BaseNodeView nodeView = element as BaseNodeView;
         if (nodeView != null)
         {
             Model.RemoveNode(nodeView.Model.GUID);
         }
         //StackView stackNodeView = element as StackView;
         //if (stackNodeView != null)
         //    Model.RemoveNode(stackNodeView.Model.GUID);
     }
     base.OnElementsRemoved(elements);
 }
 protected override void OnElementsAdded(IEnumerable <GraphElement> elements)
 {
     foreach (var element in elements)
     {
         BaseNodeView nodeView = element as BaseNodeView;
         if (nodeView != null && !Model.InnerNodeGUIDs.Contains(nodeView.Model.GUID))
         {
             Model.AddNode(nodeView.Model.GUID);
         }
         //StackView stackNodeView = element as StackView;
         //if (stackNodeView != null && !Model.InnerStackGUIDs.Contains(stackNodeView.Model.GUID))
         //    Model.AddStack(stackNodeView.Model.GUID);
     }
     base.OnElementsAdded(elements);
 }
        void InitializeInnerNodes()
        {
            foreach (var nodeGUID in Model.InnerNodeGUIDs)
            {
                if (!Owner.NodeViews.ContainsKey(nodeGUID))
                {
                    continue;
                }

                BaseNodeView nodeView = Owner.NodeViews[nodeGUID];
                AddElement(nodeView);
            }

            //foreach (var stackGUID in Model.InnerStackGUIDs)
            //{
            //    if (!Owner.Model.Stacks.ContainsKey(stackGUID)) continue;

            //    var stackView = Owner.StackViews[stackGUID];
            //    AddElement(stackView);
            //}
        }
示例#6
0
        public void DisconnectView(BaseEdgeView _edgeView)
        {
            RemoveElement(_edgeView);
            NodePortView inputPortView = _edgeView.input as NodePortView;
            BaseNodeView inputNodeView = inputPortView.node as BaseNodeView;

            if (inputPortView != null)
            {
                inputPortView.Disconnect(_edgeView);
            }

            NodePortView outputPortView = _edgeView.output as NodePortView;
            BaseNodeView outputNodeView = outputPortView.node as BaseNodeView;

            if (outputPortView != null)
            {
                _edgeView.output.Disconnect(_edgeView);
            }

            inputNodeView.RefreshPorts();
            outputNodeView.RefreshPorts();
        }
示例#7
0
        public BaseNodeView AddNodeView(BaseNode _node)
        {
            Type nodeViewType = null;

            if (_node is ParameterNode parameterNode)
            {
                nodeViewType = typeof(ParameterNodeView);
            }
            else
            {
                nodeViewType = GraphProcessorEditorUtility.GetNodeViewType(_node.GetType());
            }

            if (nodeViewType == null)
            {
                nodeViewType = GetDefaultNodeViewType(_node);
            }
            BaseNodeView nodeView = Activator.CreateInstance(nodeViewType) as BaseNodeView;

            nodeView.SetUp(_node, CommandDispatcher, this);
            NodeViews[_node.GUID] = nodeView;
            AddElement(nodeView);
            return(nodeView);
        }
示例#8
0
 public void RemoveNodeView(BaseNodeView _nodeView)
 {
     RemoveElement(_nodeView);
     NodeViews.Remove(_nodeView.Model.GUID);
 }