Всем снова привет! Только недавно начал изучать C# и Unity - многого не знаю, возможно вопрос покажется слишком простым но, я уже голову сломал...
Допустим есть сцена где скрипт спавнер генерит мобов с 2х сторон(допустим синие и красные) - они идут по прямой к определенной цели - у каждой команды своя (допустим база противника точка спавна и тд.) какова должна быть логика каждого отдельного моба и как ее обрабатывать?!
в мобе есть 2 дочерних объекта без сетки с тригером: тригер большой - зона видимости врагов и маленький зона атаки(мили совсем маленький, рэйнджет побольше)...
как пытаюсь сделать я.... есть занятие по умолчанию(если моб больше ничем не занят идти к конечной целе - базе)
есть событие увидел 1го врага (по большому тригеру)
действие все бросить и бежать к нему пока не заденет маленьким триером
начать бой и если противник погиб, получить опыт, искать нового и бежать к нему
если в зоне видимости врагов нет - занятие по умолчанию - идем крушить базу...
...возможно логика правильная НО что куда и как пихать?!
у моба у меня сделано 2 класса - класс с переменными (статами и биндами(материалы, таргет по умолчанию скорость и тд...)) и класс с поведением, так вот как раскидать логику?
я думл в update свичем перебирать поведение а триеры задают значения для кейса( например 1 = увидел, 2 догнал, 3 бой, 0 - по умолчанию)? возможно есть способ попроще? через делегаты например? подскажите как реализовать? где-то видел что всех врагов на счене нужно собрать в массив и выбирать по приоритетам? где-то, что нужно использовать "Общую память"...
пс. как сделать чтобы мобы не проходили сквозь друг друга а обходили своих?