From e16e2e2877d2271c8a68e44ed96d9a7a81919d17 Mon Sep 17 00:00:00 2001 From: Chandler Cox Date: Wed, 23 Aug 2023 08:35:35 -0500 Subject: [PATCH 1/3] Prevent AbstractWrapper from showing in Add AnimEvent CM. --- Source/Editor/GUI/Timeline/Tracks/AnimationEventTrack.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Editor/GUI/Timeline/Tracks/AnimationEventTrack.cs b/Source/Editor/GUI/Timeline/Tracks/AnimationEventTrack.cs index 4e78ca8ae..8f2909d2f 100644 --- a/Source/Editor/GUI/Timeline/Tracks/AnimationEventTrack.cs +++ b/Source/Editor/GUI/Timeline/Tracks/AnimationEventTrack.cs @@ -298,7 +298,7 @@ namespace FlaxEditor.GUI.Timeline.Tracks var animEventTypes = Editor.Instance.CodeEditing.All.Get().Where(x => new ScriptType(typeof(AnimEvent)).IsAssignableFrom(x)); foreach (var type in animEventTypes) { - if (type.IsAbstract || !type.CanCreateInstance) + if (type.IsAbstract || !type.CanCreateInstance || string.Equals(type.TypeName, "FlaxEngine.AnimEvent+AbstractWrapper", StringComparison.Ordinal) || string.Equals(type.TypeName, "FlaxEngine.AnimContinuousEvent+AbstractWrapper", StringComparison.Ordinal)) continue; var add = new ScriptType(typeof(AnimContinuousEvent)).IsAssignableFrom(type) ? addContinuousEvent : addEvent; var b = add.ContextMenu.AddButton(type.Name); From e1645210b3de957ba30d492e4a499a0e19cd2a0e Mon Sep 17 00:00:00 2001 From: Chandler Cox Date: Wed, 23 Aug 2023 08:46:21 -0500 Subject: [PATCH 2/3] Add check and indication if no anim events are found. --- Source/Editor/GUI/Timeline/Tracks/AnimationEventTrack.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Source/Editor/GUI/Timeline/Tracks/AnimationEventTrack.cs b/Source/Editor/GUI/Timeline/Tracks/AnimationEventTrack.cs index 8f2909d2f..359f589ec 100644 --- a/Source/Editor/GUI/Timeline/Tracks/AnimationEventTrack.cs +++ b/Source/Editor/GUI/Timeline/Tracks/AnimationEventTrack.cs @@ -307,6 +307,10 @@ namespace FlaxEditor.GUI.Timeline.Tracks b.Parent.Tag = time; b.ButtonClicked += OnAddAnimEvent; } + if (!addEvent.ContextMenu.Items.Any()) + addEvent.ContextMenu.AddButton("No Anim Events Found.").CloseMenuOnClick = false; + if (!addContinuousEvent.ContextMenu.Items.Any()) + addContinuousEvent.ContextMenu.AddButton("No Continuous Anim Events Found.").CloseMenuOnClick = false; } From 7e429854d6f0495c47333ca7c919f1ed91ee41e5 Mon Sep 17 00:00:00 2001 From: Chandler Cox Date: Wed, 23 Aug 2023 09:03:56 -0500 Subject: [PATCH 3/3] Simplify check to use attribute. --- Source/Editor/GUI/Timeline/Tracks/AnimationEventTrack.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Editor/GUI/Timeline/Tracks/AnimationEventTrack.cs b/Source/Editor/GUI/Timeline/Tracks/AnimationEventTrack.cs index 359f589ec..6ebddb1d2 100644 --- a/Source/Editor/GUI/Timeline/Tracks/AnimationEventTrack.cs +++ b/Source/Editor/GUI/Timeline/Tracks/AnimationEventTrack.cs @@ -298,7 +298,7 @@ namespace FlaxEditor.GUI.Timeline.Tracks var animEventTypes = Editor.Instance.CodeEditing.All.Get().Where(x => new ScriptType(typeof(AnimEvent)).IsAssignableFrom(x)); foreach (var type in animEventTypes) { - if (type.IsAbstract || !type.CanCreateInstance || string.Equals(type.TypeName, "FlaxEngine.AnimEvent+AbstractWrapper", StringComparison.Ordinal) || string.Equals(type.TypeName, "FlaxEngine.AnimContinuousEvent+AbstractWrapper", StringComparison.Ordinal)) + if (type.IsAbstract || !type.CanCreateInstance || type.HasAttribute(typeof(HideInEditorAttribute), true)) continue; var add = new ScriptType(typeof(AnimContinuousEvent)).IsAssignableFrom(type) ? addContinuousEvent : addEvent; var b = add.ContextMenu.AddButton(type.Name);