Records — это иммутабельные данные «в одну строчку». Идеально для конфигов, событий, DTO.
Базовый пример:
public record WeaponData(int Damage, float FireRate, string Name);
✅ Сам генерирует конструктор, свойства, Equals, GetHashCode, ToString()
✅ Неизменяемый — защита от случайных багов
Records с методами:
public record EnemyData(int Health, int Speed)
{
public bool IsAlive => Health > 0;
public EnemyData WithDoubleSpeed() => this with { Speed = Speed * 2 };
}
💡 Ключевое слово
with создает копию с изменениями — супер для модификаций!Где использовать в Unity:
• Настройки оружия, персонажей, предметов
• События (например,
record DamageEvent(int Amount, GameObject Target))• Данные для сохранений
⚠️ Важно: Records — ссылочные типы, но с value-семантикой. Отлично работают в Unity 2020.3+
Плюсы:
• Меньше кода
• Безопасность данных
• Читаемость
Используешь Records? Пиши в комментах! 🔥
👉Akrus Games | Unity