✅ ScriptableObjects: Данные без сцен
Что это?
Классы-контейнеры для хранения данных и логики, не привязанных к GameObject. Как "ресурсы" в проекте.
Зачем?
• Хранение настроек (оружие, враги, уровни)
• Создание системы событий (GameEvents)
• Реализация архитектуры на основе данных
• Упрощение балансировки игры
Как создать?
1. Создай класс-наследник
2. ПКМ в Project View → Create → Items/Weapon
3. Настраивай параметры в инспекторе
Как использовать?
Важно!
• Идеально для конфигов и событий
• Не для динамических объектов
• Для runtime изменений нужен паттерн Memento
💡 Применяй: настройки игрока, система диалогов, глобальные ивенты.
#Unity #CSharp #ScriptableObjects #GameDev
Что это?
Классы-контейнеры для хранения данных и логики, не привязанных к GameObject. Как "ресурсы" в проекте.
Зачем?
• Хранение настроек (оружие, враги, уровни)
• Создание системы событий (GameEvents)
• Реализация архитектуры на основе данных
• Упрощение балансировки игры
Как создать?
1. Создай класс-наследник
ScriptableObject: [CreateAssetMenu(fileName = "NewWeapon", menuName = "Items/Weapon")]
public class WeaponSO : ScriptableObject
{
public string weaponName;
public int damage;
public Sprite icon;
}
2. ПКМ в Project View → Create → Items/Weapon
3. Настраивай параметры в инспекторе
Как использовать?
public WeaponSO currentWeapon;
void Start()
{
Debug.Log($"Урон: {currentWeapon.damage}");
}
Важно!
• Идеально для конфигов и событий
• Не для динамических объектов
• Для runtime изменений нужен паттерн Memento
💡 Применяй: настройки игрока, система диалогов, глобальные ивенты.
#Unity #CSharp #ScriptableObjects #GameDev
🔥2❤1😁1 1