GD0108: Экспортированная кнопка инструмента не принадлежит классу инструментов

Идентификатор правила

GD0108

Категория

Использование

Исправление может быть как ломающим, так и не ломающим

Неразрушающий

Включено по умолчанию

Да

Причина

Свойство аннотируется атрибутом [ExportToolButton] в классе, который не аннотируется атрибутом [Tool].

Описание правила

[ExportToolButton] используется для создания нажимаемых кнопок в инспекторе, поэтому, как и любой другой скрипт, запускаемый в редакторе, его необходимо аннотировать атрибутом [Tool].

[Tool]
public partial class MyNode : Node
{
    [ExportToolButton("Click me!")]
    public Callable ClickMeButton => Callable.From(ClickMe);

    private static void ClickMe()
    {
        GD.Print("Hello world!");
    }
}

Как устранить нарушения

Чтобы устранить нарушение этого правила, добавьте атрибут [Tool] к классу, содержащему член, аннотированный атрибутом [ExportToolButton].

Когда следует подавлять предупреждения

Не подавляйте предупреждение из этого правила. Кнопки в инспекторе не будут работать, если их скрипт не аннотирован атрибутом [Tool].