Есть мобы - спавнятся и бегут друг другу навстречу...
у них есть свои статы (хп урон и тд), есть скорость атаки...
в менеджеры поведения отслеживаются все варианты развития событий - все вроде бы работает но - есть InvokeRepeating("Сам инвок",0, npcStats.attackSpeed);
в инвоке есть проверка всех нужных условий, таких как есть вообще объект на сцене(или удален) жив ли атакер и жив ли атакуемый (есть в статусе моба )
пока работает инвок - все методы поведения кроме самой атаки игнорятся...
собственно в самом мобе есть методы нанесения урона ,получения урона при нулевом и отрицательном ХП - смерть и удаление со сцены и тд...
если даже противников с каждой стороны несколько и кто-то получает урон от нескольких сразу - во время боя расчет идет правильно(вроде)...
НО: после смерти любого - инвое еще работает какое-то время (кадров 10-15);
не могу понят в чем ошибка (консоль дебаг молчат как шпийоны)
Мб просто логика не правильная - или лучше корутины использовать или еще чтото - например привязать скорость атаки к фпс и бить например каждый нужный кадр
(что-то типа:)
int attackSpeed = 10;
int currentAttackFrame =0;
...
void update()
{
if(currentAttackFrame ==attackSpeed)
attackFunc();
else
currentAttackFrame++;
}
Буду рад любым идеям и примерам реализации..