Exemple #1
0
        public FsmGraphView(FsmGraphObject fsmGraphObject)
        {
            VisualElementExtensions.AddManipulator(this, new ContentDragger());
            VisualElementExtensions.AddManipulator(this, new SelectionDragger());
            style.flexGrow = 1f;

            foreach (StateInstanceNode node in fsmGraphObject.GetNodes())
            {
                StateInstanceNodeView nodeView = new StateInstanceNodeView(node);
                nodeView.SetPosition(FindPosition(nodeView));

                nodeViews.Add(node.stateInstance.name, nodeView);
                AddElement(nodeView);
            }

            foreach (TransitionInstanceEdge transitionEdge in fsmGraphObject.edges)
            {
                TransitionEdgeView transitionView = new TransitionEdgeView(transitionEdge)
                {
                    input  = nodeViews[transitionEdge.transitionInstance.originState].inputPort,
                    output = nodeViews[transitionEdge.transitionInstance.targetState].outputPort
                };

                AddElement(transitionView);
            }
        }
Exemple #2
0
    private void CreateGraph()
    {
        if (graphObject != null)
        {
            Destroy(graphObject);
        }

        graphObject = CreateInstance <FsmGraphObject>();
        graphObject.Initialize(finiteStateMachine);
        rootVisualElement.Add(new FsmGraphView(graphObject));
    }
Exemple #3
0
 public StateInstanceNode(FsmGraphObject owner, FiniteStateMachine.StateInstance instance)
 {
     graph         = owner;
     stateInstance = instance;
 }
Exemple #4
0
 public TransitionInstanceEdge(FsmGraphObject owner, FiniteStateMachine.TransitionInstance transition)
 {
     graph = owner;
     transitionInstance = transition;
 }
Exemple #5
0
 public EdgeConnectorListener(FsmGraphObject graph)
 {
     this.graph = graph;
 }