У меня такой вопрос возник.
------ Задача
Есть несложный метод, который реализован корутиной (например, обращение к юниту, отправление его navmeah-агента по координатам в путь).
------ Варианты решения
1. На юнитах делать один и тот же скрипт. В нём разместить корутину, и уже в ней создавать временные приватные переменные, (например Vector3, int, bool).
2. На юнитах делать один и тот же скрипт. Уже в НЁМ создать приватные переменные, и их использовать в этой корутине (те же Vector3, int, bool).
3. На ГО (а-ля GameManager) делать один скрипт. В нём разместить корутину, и уже в ней создавать временные приватные переменные, (те же Vector3, int, bool). И юниты будут обращаться уже к этой корутине, чтобы уйти на позицию.
3. На ГО (а-ля GameManager) делать один скрипт. Уже в НЁМ создать приватные переменные, и их использовать в этой корутине (те же Vector3, int, bool). И юниты будут обращаться уже к этой корутине, чтобы уйти на позицию.
------ Вопрос
а. Какой из вариантов правильно делать в плане правильно кода? Юнитов за бой ожидаются сотни, возможно тыща-две, но на сцене одновр-нно планируется 100-150 шт. И все половина постоянно находится в пути. )))
б. Нет ли каких либо потерь/утечек памяти на это?
в. Не будет ли конфликтов/сбоев/путаницы с переменными из-за обращения к одному и тому же скрипту и переменным (для вар-тов 3 и 4) от разных юнитов? Ну и конфликтов из-за асинхронности navmesh и корутины?
г. или это бред собачий и вообще не важно всё это? )))
------ Благодарю ))