/// <inheritdoc />
        public void Register(GraphViewEditorWindow window)
        {
            m_CommandDispatcher = window.CommandDispatcher;
            m_GraphView         = window.GraphViews.First();

            m_DebugDataObserver = new DebugDataObserver(this);
            m_CommandDispatcher.RegisterObserver(m_DebugDataObserver);

            EditorApplication.update               += OnUpdate;
            EditorApplication.pauseStateChanged    += OnEditorPauseStateChanged;
            EditorApplication.playModeStateChanged += OnEditorPlayModeStateChanged;
            ((Stencil)m_CommandDispatcher.State.WindowState.GraphModel?.Stencil)?.Debugger?.Start(m_CommandDispatcher.State.WindowState.GraphModel, m_CommandDispatcher.State.TracingStatusState.TracingEnabled);

            var root = window.rootVisualElement;

            if (m_TimelineToolbar == null)
            {
                m_TimelineToolbar = root.SafeQ <TracingToolbar>();
                if (m_TimelineToolbar == null)
                {
                    m_TimelineToolbar = new TracingToolbar(m_GraphView, m_CommandDispatcher);
                }
            }

            if (m_TimelineToolbar.parent != root)
            {
                root.Insert(1, m_TimelineToolbar);
            }
        }
        public static bool OpenGraphAsset(int instanceId, int line)
        {
            var obj = EditorUtility.InstanceIDToObject(instanceId);
            if (obj is MathBookAsset graphAssetModel)
            {
                var window = GraphViewEditorWindow.FindOrCreateGraphWindow<SimpleGraphViewWindow>();
                window.SetCurrentSelection(graphAssetModel, GraphViewEditorWindow.OpenMode.OpenAndFocus);
                return window != null;
            }

            return false;
        }
Ejemplo n.º 3
0
        public static bool OpenGraphAsset(int instanceId, int line)
        {
            var obj = EditorUtility.InstanceIDToObject(instanceId);

            if (obj is VerticalGraphAssetModel graphAssetModel)
            {
                var window = GraphViewEditorWindow.FindOrCreateGraphWindow <VerticalGraphWindow>();
                window.SetCurrentSelection(graphAssetModel, GraphViewEditorWindow.OpenMode.OpenAndFocus);
                return(window != null);
            }

            return(false);
        }
Ejemplo n.º 4
0
        public static void SpawnAttachedViewToolWindow <T>(GraphViewEditorWindow window, GraphView gv) where T : GraphViewToolWindow
        {
            const int newToolWidth = 200;

            if (!(window.m_Parent is DockArea gvDockArea)) // Should never happen
            {
                return;
            }

            var container         = gvDockArea.parent;
            var originalSize      = gvDockArea.position.size;
            var originalWindowPos = gvDockArea.window.position;

            int insertIdx = container.IndexOfChild(gvDockArea);

            container.RemoveChild(gvDockArea);

            var splitView    = ScriptableObject.CreateInstance <SplitView>();
            var toolDockArea = ScriptableObject.CreateInstance <DockArea>();
            var toolWindow   = ScriptableObject.CreateInstance <T>();

            toolWindow.SelectGraphViewFromWindow(window, gv);

            toolDockArea.AddTab(toolWindow);

            toolDockArea.position = new Rect(Vector2.zero, new Vector2(newToolWidth, originalSize.y));
            gvDockArea.position   = new Rect(Vector2.zero, new Vector2(originalSize.x - newToolWidth, originalSize.y));
            splitView.position    = new Rect(Vector2.zero, originalSize);

            splitView.AddChild(toolDockArea);
            splitView.AddChild(gvDockArea);

            container.AddChild(splitView, insertIdx);

            container.window.position = originalWindowPos;
            container.window.Show(ShowMode.NormalWindow, false, true, true);
        }
 /// <inheritdoc />
 public ExtensionTestGraphView(GraphViewEditorWindow window, CommandDispatcher commandDispatcher, string graphViewName)
     : base(window, commandDispatcher, graphViewName)
 {
 }
 public VerticalGraphView(GraphViewEditorWindow window, CommandDispatcher commandDispatcher, string graphViewName)
     : base(window, commandDispatcher, graphViewName)
 {
     SetupZoom(0.05f, 5.0f, 5.0f);
 }
 public TestGraphView(GraphViewEditorWindow window, CommandDispatcher commandDispatcher)
     : base(window, commandDispatcher, "")
 {
 }
 public RecipeGraphView(GraphViewEditorWindow window, CommandDispatcher commandDispatcher, string graphViewName)
     : base(window, commandDispatcher, graphViewName)
 {
 }