Inheritance: SequenceItemNodeBase, ICodeOutput, IDataRecordRemoving
Example #1
0
        public virtual void AfterVisitAction(SequenceItemNode actionNode)
        {
            var hasInferredOutput = false;

            foreach (var output in actionNode.GraphItems.OfType <ActionOut>())
            {
                Visit(output);
            }
            foreach (var output in actionNode.GraphItems.OfType <ActionBranch>())
            {
                Visit(output);
                if (output.OutputTo <ActionNode>() != null)
                {
                    hasInferredOutput = true;
                }
            }
            //if (!hasInferredOutput)
            //{
            var innerRight = actionNode.OutputsTo <SequenceItemNode>().FirstOrDefault(p => p.Filter == actionNode);

            if (innerRight != null)
            {
                Visit(innerRight);
            }
            var outterRight = actionNode.OutputsTo <SequenceItemNode>().FirstOrDefault(p => p.Filter != actionNode);

            if (outterRight != null)
            {
                Visit(outterRight);
            }
            //}
        }
Example #2
0
        public void Execute(CreateConverterConnectionCommand command)
        {
            SequenceItemNode node = null;
            var type = command.ConverterAction;

            if (type != null && type.IsEditorClass)
            {
                node = Activator.CreateInstance(type.SystemType) as SequenceItemNode;
            }
            else
            {
                node = new ActionNode
                {
                    Meta = type,
                };
                //node.Name = "";
            }
            node.Graph = command.Output.Graph;


            InvertGraphEditor.CurrentDiagramViewModel.AddNode(node, Event.current.mousePosition - new Vector2(250f, 0f));

            var result = node.GraphItems.OfType <IActionOut>().FirstOrDefault(p => p.Name == "Result");
            var input  = node.GraphItems.OfType <IActionIn>().FirstOrDefault();

            node.Graph.AddConnection(command.Output, input);
            node.Graph.AddConnection(result, command.Input);

            node.IsSelected = true;
        }
Example #3
0
        public virtual void BeforeVisitAction(SequenceItemNode actionNode)
        {
            outputtedNodes.Add(actionNode);

            foreach (var input in actionNode.GraphItems.OfType <IActionIn>())
            {
                Visit(input);
            }
        }
Example #4
0
        public void Visit(IDiagramNodeItem item)
        {
            if (item == null)
            {
                return;
            }
            var handlerNode             = item as ISequenceNode;
            SequenceItemNode actionNode = item as SequenceItemNode;
            var actionBranch            = item as ActionBranch;
            var actionOut = item as IActionOut;
            var actionIn  = item as IActionIn;
            //var setVariableNode = item as SetVariableNode;
            //var groupNode = item as ActionGroupNode;
            var handlerIn = item as HandlerIn;

            if (handlerIn != null)
            {
                BeforeVisitHandlerIn(handlerIn);
                VisitHandlerIn(handlerIn);
                AfterVisitHandlerIn(handlerIn); return;
            }

            if (actionNode != null)
            {
                BeforeVisitAction(actionNode);
                VisitAction(actionNode);
                AfterVisitAction(actionNode); return;
            }

            if (actionBranch != null)
            {
                BeforeVisitBranch(actionBranch);
                VisitBranch(actionBranch);
                AfterVisitBranch(actionBranch);
                return;
            }

            if (actionOut != null)
            {
                BeforeVisitOutput(actionOut);
                VisitOutput(actionOut);
                AfterVisitOutput(actionOut);
                return;
            }

            if (actionIn != null)
            {
                BeforeVisitInput(actionIn);
                VisitInput(actionIn);
                AfterVisitInput(actionIn);
                return;
            }
        }
        public virtual void VisitAction(SequenceItemNode actionNode)
        {

        }
 public virtual void AfterVisitAction(SequenceItemNode actionNode)
 {
     var hasInferredOutput = false;
     foreach (var output in actionNode.GraphItems.OfType<ActionOut>())
     {
         Visit(output);
     }
     foreach (var output in actionNode.GraphItems.OfType<ActionBranch>())
     {
         Visit(output);
         if (output.OutputTo<ActionNode>() != null)
         {
             hasInferredOutput = true;
         }
     }
     //if (!hasInferredOutput)
     //{
         var innerRight = actionNode.OutputsTo<SequenceItemNode>().FirstOrDefault(p => p.Filter == actionNode);
         if (innerRight != null)
             Visit(innerRight);
         var outterRight = actionNode.OutputsTo<SequenceItemNode>().FirstOrDefault(p => p.Filter != actionNode);
         if (outterRight != null)
             Visit(outterRight);
     //}
 }
        public virtual void BeforeVisitAction(SequenceItemNode actionNode)
        {
            outputtedNodes.Add(actionNode);

            foreach (var input in actionNode.GraphItems.OfType<IActionIn>())
            {
                Visit(input);
            }
        }
Example #8
0
 public CustomActionViewModel(SequenceItemNode graphItemObject, DiagramViewModel diagramViewModel) : base(graphItemObject, diagramViewModel)
 {
 }
Example #9
0
 public SequenceItemNodeViewModel(SequenceItemNode graphItemObject, Invert.Core.GraphDesigner.DiagramViewModel diagramViewModel) :
     base(graphItemObject, diagramViewModel)
 {
 }
Example #10
0
 public virtual void VisitAction(SequenceItemNode actionNode)
 {
 }
 public SequenceItemNodeViewModel(SequenceItemNode graphItemObject, Invert.Core.GraphDesigner.DiagramViewModel diagramViewModel) :
         base(graphItemObject, diagramViewModel)
 {
 }