TGViewer
Akrus Games | Unity Akrus Games | Unity @akrusunity · 2.67K subscribers
Post #740 387
🚀 5 приёмов C# и Unity, которые отличают джуна от мидла

📌 Сохрани — это шаг в сторону масштабируемого и профессионального кода

1️⃣ Action и Func — универсальные делегаты

public Action OnFinished;
public Func<bool> IsConditionMet;


📌 Упрощают объявления и колбэки. Подходят для:
• UI-событий
• игровых триггеров
• асинхронных проверок

Вместо создания собственного делегата — просто:

OnFinished?.Invoke();


2️⃣ LINQ + лямбды — фильтрация без циклов

var enemies = allUnits.Where(u => u.IsEnemy && u.HP > 0).ToList();


📌 Сокращает код и улучшает читаемость.
Идеально для выбора целей, фильтрации объектов и логики на старте.

⚠️ Внутри Update() не злоупотребляй — может создать GC.

3️⃣ Extension Methods — пиши C#, будто это твой движок

public static Vector3 WithY(this Vector3 v, float y) => new(v.x, y, v.z);


📌 transform.position = pos.WithY(0); — читается, как родной синтаксис.
Абстрагируй повторы, работай с Transform, GameObject, string, float и т.д.

4️⃣ ScriptableObject — переменные и сигналы между сценами

[CreateAssetMenu]
public class FloatVariable : ScriptableObject {
public float Value;
}


📌 Используется как:
• runtime переменная (настройки, состояния)
• Event-центр (через UnityEvent или кастомные Raise())
• конфигурация апгрейдов / миссий

Поддерживает инспекторную настройку и разделение логики от данных.

5️⃣ Editor-инструменты — экономь себе часы

[MenuItem("Tools/Clear PlayerPrefs")]
private static void ClearPrefs() => PlayerPrefs.DeleteAll();


📌 Один клик — и готово.
Создавай себе:
• дебаг-кнопки
• редакторы данных
• инструменты генерации

Хочешь больше — используй EditorWindow, PropertyDrawer, AssetPostprocessor.

💬 Хочешь идти в senior — думай об удобстве других, переиспользуемости и времени команды.

🔔 Подписывайся — впереди про архитектуру, DI, UI-системы и async паттерны

👉Akrus Games | Unity
  • 🔥 4
  • ❤ 3
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 →