Skip to content

Latest commit

 

History

History
77 lines (54 loc) · 3.38 KB

File metadata and controls

77 lines (54 loc) · 3.38 KB

[Button]

Что это: Атрибут [Button] — это мощный инструмент для отладки и тестирования, который позволяет превратить любой метод вашего MonoBehaviour в кликабельную кнопку прямо в инспекторе Unity.

Как использовать: см. разделы ниже.


Пространство имен: Neo Путь: Scripts/PropertyAttribute/ButtonAttribute.cs

Описание

Атрибут [Button] — это мощный инструмент для отладки и тестирования, который позволяет превратить любой метод вашего MonoBehaviour в кликабельную кнопку прямо в инспекторе Unity.

Это избавляет от необходимости создавать временный UI или писать специальный код для вызова методов во время разработки. Вы можете вызывать методы с параметрами и без, что делает этот атрибут очень гибким.

Как использовать

Просто поместите атрибут [Button] над любым методом в вашем скрипте.

public class MyComponent : MonoBehaviour
{
    [Button]
    private void SayHello()
    {
        Debug.Log("Hello, World!");
    }
}

В инспекторе компонента MyComponent появится кнопка с названием "SayHello".

Параметры конструктора

Атрибут имеет два необязательных параметра для настройки внешнего вида кнопки.

  • buttonName (string): Текст, который будет отображаться на кнопке. Если не указан, используется имя метода.
  • width (float): Ширина кнопки в пикселях (по умолчанию 120).

Пример:

[Button("Запустить процесс", 200)]
private void DoSomethingComplex()
{
    // ...
}

Методы с параметрами

Главное преимущество этого атрибута — поддержка методов с параметрами. Если ваш метод принимает параметры, инспектор автоматически отобразит поля для их ввода.

Пример:

public class MyComponent : MonoBehaviour
{
    [Button]
    private void SpawnObject(GameObject prefab, int count, bool isActive)
    {
        for (int i = 0; i < count; i++)
        {
            GameObject instance = Instantiate(prefab);
            instance.SetActive(isActive);
        }
    }
}

В инспекторе рядом с кнопкой "SpawnObject" появится выпадающее меню "Parameters", где вы сможете указать префаб, количество и состояние isActive перед тем, как нажать на кнопку.

Поддерживаются все основные типы данных: int, float, string, bool, Vector2/3, Color, перечисления (enum) и ссылки на UnityEngine.Object.