Vasyok
Просветленный
(20090)
8 месяцев назад
зачем ты пишешь генератор то для этого?
похоже что бесконечный цикл должен быть снаружи генератора.
и еще обьясни с каком потоке вызывается он, потомучто если в основном то он стопанет все остальное дейтсвие.
а так чтото такое:
if (!isNearPlayer)
{
//print("daleko");
}
else
{Health -= 10;// снимаем нужное хп }
ваще такие штуки как радиенс если я правильно понял надо писать в одельном потоке и войдом.
Плюс создай базовый класс для действий и реализуй его наседников которых будешь в игроом цикле или в отдельных потоках чекать просто паттерном обсервер
Глеб ГуменякУченик (181)
8 месяцев назад
Вообще мне надо чтобы если переменная isNearPlayer равно true(т.е. когда игрок входит в тригер врага) то каждую секунду из переменной Health отнимается 10
private IEnumerator deadZoneLogic()
{
while (true)
{
if (!isNearPlayer)
{
//print("daleko");
yield break; // если не в дедзоне, то ничего не делаем
}
Health -= 10;// снимаем нужное хп
if (0 >= Health)
{
print("dead");
}
yield return new WaitForSeconds(1f); // ждём 1 секунду, чтобы не съедало всё здоровье за в один миг
}
}