TGViewer
Akrus Games | Unity Akrus Games | Unity @akrusunity · 2.67K subscribers
Post #784 536
Unity: enum, state и switch

Чтобы не было десяти миллионов if else, можно использовать Switch+enum. Рассмотрим на примере состояний:
switch (state)//что рассматриваем
{
default:
case State.Idle:
//если idle, то ничего не делаем
break;//завершаем
case State.Roaming:
roamingTime -= Time.deltaTime;
if (roamingTime < 0)
{
Roaming();
roamingTime = roamingTimerMax;
}
//ecли roaming выполняем действие
break;
case State.Attack:
navMeshAgent.SetDestination(player_pos.position);
break;

}

Важно!
это не полная замена if/else, а частный случай для оптимизации при одномерном выборе.


Таким образом можно рассматривать состояния более оптимизированным способом. Попробуйте внедрить это в свой проект и код будет надежнее(компилятор предупредит о возможных проблемах), удобней(можно проще добавить новые состояния) и читаемее.

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