TGViewer
Akrus Games | Unity Akrus Games | Unity @akrusunity · 2.67K subscribers
Post #748 367
⚡️ Unity: Инкапсуляция — твой код под контролем

Инкапсуляция — это не скучная теория, а твой главный инструмент для чистого и защищённого кода. Суть: прячем данные, открываем только нужные методы.

🎯 Зачем в играх?
• Предотвращаем случайные баги (другой скрипт не сломает твои переменные)
• Делаем код понятнее — чёткие границы ответственности
• Упрощаем изменения — меняем внутреннюю логику без поломки других систем

🛡 Практика в Unity:


1️⃣ private + [SerializeField]
private int _health = 100;

Доступ только внутри этого класса. Для настройки в инспекторе используем:
[SerializeField] private int _health = 100;


2️⃣ public свойства с контролем
public int Health { get; private set; }

Читать можно откуда угодно, менять — только внутри класса.

3️⃣ protected — для семейного доступа

protected int _mana;

Доступ в этом классе И во всех наследниках. Идеально для базовых классов!

💥 Живой пример с protected:
public class Character : MonoBehaviour
{
[SerializeField] protected int maxHealth = 100;
public int Health { get; protected set; }

protected virtual void Start() => Health = maxHealth;

public virtual void TakeDamage(int damage)
{
Health = Mathf.Max(0, Health - damage);
}
}

public class Player : Character
{
protected override void Start()
{
base.Start();
// Можем использовать Health и maxHealth - они protected
Health += 50; // Бонус здоровья для игрока
}
}


✅ Вывод:
• private — только для своего класса
• protected — для семьи (родитель + наследники)
• public — для всех

💬 Как ты организуешь доступ к данным в своих скриптах?
🔔 Подпишись — впереди ещё больше про архитектуру игр без факапов

👉Akrus Games | Unity
  • ❤ 5
  • 🔥 2
  • 😱 1
More from @akrusunity
  1. Sep 29, 2026Чей синьор?
  2. Sep 22, 2026Я добавил релиз(я в начале не догадался, что через консоль можно прикреплять файлы любого…
  3. Sep 21, 2026https://github.com/Akrus001/YoutubeDownloader Я выложил на гитхаб переделанную версию Yout…
  4. Sep 16, 2026Я хотел запустить Youtube Downloader, но... Нейронка это уже исправила и сейчас пытается с…
  5. Sep 13, 2026Сегодня 2**8 день года и это значит что... Сегодня день программиста!!!😎⌨️🧑‍💻 (вайбкоде…
  6. Sep 8, 2026Post #1035
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →