From 22c4301244d30a1aa4c918d5b3ca9e10b6aec681 Mon Sep 17 00:00:00 2001 From: Minimata Date: Fri, 13 Feb 2026 11:11:03 +0100 Subject: [PATCH] fix forge issue --- .../editor/cues/CueHandlerInspectorPlugin.cs | 31 +++++++++++-------- scenes/tuto_trigger/tuto_trigger.gd | 1 + 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/addons/forge/editor/cues/CueHandlerInspectorPlugin.cs b/addons/forge/editor/cues/CueHandlerInspectorPlugin.cs index 246e2f65..389ff983 100644 --- a/addons/forge/editor/cues/CueHandlerInspectorPlugin.cs +++ b/addons/forge/editor/cues/CueHandlerInspectorPlugin.cs @@ -13,22 +13,27 @@ public partial class CueHandlerInspectorPlugin : EditorInspectorPlugin public override bool _CanHandle(GodotObject @object) { // Find out if its an implementation of CueHandler without having to add [Tool] attribute to them. - if (@object?.GetScript().As() is CSharpScript script) + try { - StringName className = script.GetGlobalName(); - - Type baseType = typeof(ForgeCueHandler); - System.Reflection.Assembly assembly = baseType.Assembly; - - Type? implementationType = - Array.Find(assembly.GetTypes(), x => - x.Name == className && - baseType.IsAssignableFrom(x)); - - return implementationType is not null; + if (@object.GetScript().As() is not { }) return false; + } + catch (Exception e) + { + return false; } - return false; + var script = @object.GetScript().As(); + StringName className = script.GetGlobalName(); + + Type baseType = typeof(ForgeCueHandler); + System.Reflection.Assembly assembly = baseType.Assembly; + + Type? implementationType = + Array.Find(assembly.GetTypes(), x => + x.Name == className && + baseType.IsAssignableFrom(x)); + + return implementationType is not null; } public override bool _ParseProperty( diff --git a/scenes/tuto_trigger/tuto_trigger.gd b/scenes/tuto_trigger/tuto_trigger.gd index 75b6efe1..a9f9d664 100644 --- a/scenes/tuto_trigger/tuto_trigger.gd +++ b/scenes/tuto_trigger/tuto_trigger.gd @@ -1,4 +1,5 @@ extends Area3D +class_name TutoTrigger @onready var control: Control = $Control