using UnityObject = UnityEngine.Object; namespace Unity.VisualScripting { [Descriptor(typeof(IMachine))] public class MachineDescriptor : Descriptor where TMachine : UnityObject, IMachine where TMachineDescription : class, IMachineDescription, new() { protected MachineDescriptor(TMachine target) : base(target) { } protected TMachine machine => target; [Assigns(cache = false)] [RequiresUnityAPI] public override string Title() { return machine.name; } [Assigns] [RequiresUnityAPI] public override string Summary() { return null; } [Assigns] [RequiresUnityAPI] public override EditorTexture Icon() { return machine.GetType().Icon(); } } }