public override void LoadData(AnimationGraphView graphView, NodeAsset nodeAsset, Dictionary <NodeAsset, BaseNodeUI> nodeMap)
        {
            base.LoadData(graphView, nodeAsset, nodeMap);

            StateMachineNodeAsset = (StateMachineNodeAsset)nodeAsset;

            LoadDataWithCallback(graphView, nodeAsset, nodeMap, portAsset => GenerateStatePort(((StateMachineNodeInputPortAsset)portAsset).StateName));
        }
        public StateMachineNodeUI() : base()
        {
            StateMachineNodeAsset = new StateMachineNodeAsset {
                Data = new StateMachineNode()
            };

            Button openEditorButton = new Button(() =>
            {
                StateMachineEditor.OpenEditor();
                StateMachineEditor.Editor.LoadStateMachine(this);
            })
            {
                text = "Edit"
            };

            mainContainer.Insert(1, openEditorButton);

            GenerateOutputPort(_portColor);
        }