Akrus Games | Unity
2.95K subscribers
408 photos
89 videos
11 files
351 links
Самые годные лайфхаки по unity c#

Сотрудничество/реклама/помощь @Akrus001
Download Telegram
Кастомные атрибуты в C#: твой код — чище и умнее

Что это?
Специальные метки для переменных, методов или классов. Они не меняют логику, но дают подсказки движку или редактору.

Зачем?
• Валидация данных прямо в инспекторе
• Красивое и логичное группирование полей
• Сокрытие или запрет на редактирование переменных при определенных условиях
• Автоматизация рутинных задач

Как создать?
Наследуйся от класса PropertyAttribute.

using UnityEngine;

public class HeaderColorAttribute : PropertyAttribute
{
public readonly Color Color;
public HeaderColorAttribute(float r, float g, float b)
{
Color = new Color(r, g, b);
}
}


Как использовать?
Повесь атрибут над полей класса.

public class Player : MonoBehaviour
{
[HeaderColor(1, 0, 0)] // Красный заголовок
[SerializeField] private string _playerName;

[HeaderColor(0, 1, 0)] // Зеленый заголовок
[SerializeField] private int _health;
}


Важно!
• Для отрисовки в инспекторе нужен кастомный Editor скрипт
• Атрибуты работают в рантайме — это мощный инструмент для архитектуры
• Не злоупотребляй сложной логикой в атрибутах

💡 Применяй для: создания понятных инспекторов, валидации настроек, автоматизации.
Создай свой первый атрибут для подсветки поля, если значение отрицательное!

#Unity #CSharp #Programming #Attributes #Gamedev
1🔥521