using UnityObject = UnityEngine.Object;
namespace Unity.VisualScripting
{
[Descriptor(typeof(IMachine))]
public class MachineDescriptor<TMachine, TMachineDescription> : Descriptor<TMachine, TMachineDescription>
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();
}
}
}