Unity, C#, Wait untill für void Funktionen?
Hallo! Gibt es Wait untill für void Funktionen? Weil ich kenne ja "Invoke" aber diese yield return new WaitUntill bla, bla, bla sind ja nicht für Void Funktionen. Wenn, ja, welche? Grüße, Tjovo Studios.
1 Antwort
BoundfoxStudios
bestätigt
Von
Experte
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, Technik, programmieren
Ich sehe nicht, wieso sich eine Coroutine nicht eignen sollte. Der Rückgabetyp muss doch nicht von dir je Fall festgelegt werden, sondern gehört gewissermaßen zur Struktur. Schau dir das Beispiel aus der Dokumentation an (oder für das Warten auf eine bestimmte Dauer: WaitForSeconds).
Alternative Lösungen:
- mit async/await: Using async/await in Unity3D 2017
- man könnte auch das Unity Event System nutzen, um auf bestimmte Ereignisse erst zugegebener Zeit zu reagieren
- für bspw. zeitliche Verzögerungen kann man sich einen einfachen Timer schreiben:
public float targetTime = 10f;
void Update()
{
targetTime -= Time.deltaTime;
if (targetTime <= 0f)
{
// do something ...
}
}