using UnityObject = UnityEngine.Object; namespace Unity.VisualScripting { [Descriptor(typeof(IMacro))] public class MacroDescriptor : Descriptor where TMacro : UnityObject, IMacro where TMacroDescription : class, IMacroDescription, new() { protected MacroDescriptor(TMacro target) : base(target) { } protected TMacro macro => target; [Assigns(cache = false)] [RequiresUnityAPI] public override string Title() { return macro.name; } [Assigns] [RequiresUnityAPI] public override string Summary() { return null; } [Assigns] [RequiresUnityAPI] public override EditorTexture Icon() { return macro.GetType().Icon(); } } }