Следующий код ниже работает по-другому на Android, в то время как в редакторе он работает так, как предполагалось:
private IEnumerator CountTo(int target)
{
yield return new WaitForSeconds(0.5f);
int start = 0;
do
{
ScoreText.text = string.Format(scoreText, start);
if (start != 0)
{
SoundManager.instance.Play(ScoreSound, default, 0.4f);
}
start++;
yield return new WaitForSeconds(0.33f);
}
while (start <= target);
}
В редакторе, когда он вызывается, он ждет 0,5 секунды перед запуском (чтобы дождаться воспроизведения звука завершения уровня), считается до target
один за другим с игрой ScoreSound
каждый раз (кроме первого), когда счет изменения.
На Android он сначала проигрывает все необходимые ScoreSound
звуки и только тогда МЕДЛЕННО (почти как с лагами) меняет счет пользовательского интерфейса. В отладчике, шаг за шагом все работает нормально. При использовании профилировщика FPS стабилен, когда это происходит.
Есть идеи, что может быть причиной этого?
Спасибо!