Что это: Атрибут [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.