Синтаксис:
Используется csharp
private IEnumerator DelayShoot()
{
while (true)
{
anim.SetAnimTrigger("Shoot");
OnDamage();
CountAmmo--;
if (CountAmmo <= 0)
yield return ReloadTimer();
yield return new WaitForSeconds(3);
}
}
private IEnumerator ReloadTimer()
{
anim.SetAnimBool("Reload", true);
yield return new WaitForSeconds(2);
anim.SetAnimBool("Reload", false);
CountAmmo = MaxCount;
}
{
while (true)
{
anim.SetAnimTrigger("Shoot");
OnDamage();
CountAmmo--;
if (CountAmmo <= 0)
yield return ReloadTimer();
yield return new WaitForSeconds(3);
}
}
private IEnumerator ReloadTimer()
{
anim.SetAnimBool("Reload", true);
yield return new WaitForSeconds(2);
anim.SetAnimBool("Reload", false);
CountAmmo = MaxCount;
}
При таком коде получается что включается анимация перезарядки башни, но башня продолжает стрелять без анимации, а анимация перезарядки вечная потому что не меняется параметр Reload на false. Вроде все правильно написано, а работать не хочет не в какую. Как можно сделать, чтоб корутина ждала пока не выполнится корутина внутри?