У меня есть IEnumerator с параметром while l oop, который должен работать 100 раз, и это прекрасно работает, когда я вызываю это из метода start в том же скрипте. Но когда я вызываю IEnumerator из другого скрипта, он вызывается, но пока l oop запускается только один раз.
public class script1: MonoBehaviour
{
private void Start()
{
//StartCoroutine(StartCountdown(3));
// When I call it here the while loop runs 100
}
public IEnumerator StartCountdown(float countdownValue)
{
float waiteTime = countdownValue / 100;
int loopNumber = 100;
//float idk = 0;
while (loopNumber > 0)
{
Debug.Log("aufgerufen");
circle.fillAmount -= 0.01f;
yield return new WaitForSeconds(waiteTime);
loopNumber -= 1;
}
}
}
public class script2 : MonoBehaviour
{
public void GameOver()
{
panel.SetActive(true);
Time.timeScale = 0;
GameObject circle = GameObject.FindGameObjectWithTag("LoadCircle");
StartCoroutine(circle.GetComponent<LoadCircle>().StartCountdown(3));
//When I call it from here the while loop only run once
}
}