diff --git a/Editor/Scripts/Window/PlayableGraphMonitorWindow_Toolbar.cs b/Editor/Scripts/Window/PlayableGraphMonitorWindow_Toolbar.cs index 52e2a44..b5219f7 100644 --- a/Editor/Scripts/Window/PlayableGraphMonitorWindow_Toolbar.cs +++ b/Editor/Scripts/Window/PlayableGraphMonitorWindow_Toolbar.cs @@ -250,6 +250,8 @@ private void OnHoverSelectOutputNodeMenu(PointerEnterEvent evt) var playableGraph = _graphPopupField.value; if (!playableGraph.IsValid()) { + _selectOutputNodeMenu.menu.AppendAction("No PlayableOuput node", null, + DropdownMenuAction.Status.Disabled); return; } @@ -276,8 +278,8 @@ private void OnHoverSelectOutputNodeMenu(PointerEnterEvent evt) continue; } - var nodeName = $"{outputNode.PlayableOutput.GetPlayableOutputType().Name}" + - $" ({outputNode.PlayableOutput.GetEditorName()})"; + var nodeName = $"#{i} [{outputNode.PlayableOutput.GetEditorName()}]" + + $" {outputNode.PlayableOutput.GetPlayableOutputType().Name}"; _selectOutputNodeMenu.menu.AppendAction(nodeName, _ => { _graphView.ClearSelection(); @@ -285,6 +287,12 @@ private void OnHoverSelectOutputNodeMenu(PointerEnterEvent evt) _graphView.FrameSelection(); }); } + + if (outputCount == 0) + { + _selectOutputNodeMenu.menu.AppendAction("No PlayableOuput node", null, + DropdownMenuAction.Status.Disabled); + } } private void OnHoverSelectRootNodeMenu(PointerEnterEvent evt) @@ -294,6 +302,8 @@ private void OnHoverSelectRootNodeMenu(PointerEnterEvent evt) var playableGraph = _graphPopupField.value; if (!playableGraph.IsValid()) { + _selectRootNodeMenu.menu.AppendAction("No root Playable node", null, + DropdownMenuAction.Status.Disabled); return; } @@ -320,11 +330,9 @@ private void OnHoverSelectRootNodeMenu(PointerEnterEvent evt) continue; } - var nodeName = $"{playableNode.Playable.GetPlayableType()?.Name ?? "?"}"; - if (!string.IsNullOrEmpty(playableNode.ExtraLabel)) - { - nodeName = $"{nodeName} ({playableNode.ExtraLabel})"; - } + var nodeName = !string.IsNullOrEmpty(playableNode.ExtraLabel) + ? $"#{i} [{playableNode.ExtraLabel}] {playableNode.Playable.GetPlayableType().Name}" + : $"#{i} {playableNode.Playable.GetPlayableType().Name}"; _selectRootNodeMenu.menu.AppendAction(nodeName, _ => { @@ -333,6 +341,12 @@ private void OnHoverSelectRootNodeMenu(PointerEnterEvent evt) _graphView.FrameSelection(); }); } + + if (rootPlayableCount == 0) + { + _selectRootNodeMenu.menu.AppendAction("No root Playable node", null, + DropdownMenuAction.Status.Disabled); + } } } } \ No newline at end of file diff --git a/package.json b/package.json index d235180..45767e3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.greenbamboogames.playablegraphmonitor", - "version": "2.5.0", + "version": "2.5.1", "displayName": "PlayableGraph Monitor!", "description": "PlayableGraph monitor.", "unity": "2019.4",