ich StartCoroutines in einer anderen Klasse bin mit, Problem ist, ich brauche die Klasse dynamisch zu sein, seine Berufung. LevelSelected = "Camera.GetComponent<Level"+levelnumber+">().Pattern1()";
Unity C# StartCoroutines - ist es möglich, eine Zeichenfolge in das StartCoroutine zu setzen
LevelSelected ist eine Zeichenfolge, die levelnumber ist die Ebene (int), und ich möchte es die Enumerator-Funktionen aus dieser Klasse abholen. Die Level-Nummer wird von der Ebene bestimmt, die der Spieler im Startmenü auswählt.
Problem das ich habe ist ... wenn ich Ausgang, was ich in den String benötigen.
`StartCoroutine (LevelSelected);`
Es Fehler heraus sagen - Coroutine 'Camera.GetComponent() Pattern2()' konnte nicht gestartet werden! Aber wenn ich diesen Wert in hart codieren, es funktioniert gut ...
gibt es einen Weg, um dieses ??
Danke, Craig
Lesen ändern, haben Sie ein anderes Verhalten für jedes Level? 'Level1',' Level2' und so weiter? Das ist keine gute Idee. Beachten Sie auch die ['StartCoroutine'-Dokumentation] (https://docs.unity3d.com/ScriptReference/MonoBehaviour.StartCoroutine.html), dass Sie nur einen Methodennamen und keinen C# -Ausdruck übergeben können (was Sie gerade versuchen) bestehen). – 31eee384
Ja, ich bekommen, dass ich frage mich nur, wenn Theres eine Abhilfe - ich kann buchstäblich hart codieren nur in dem, was der String sagt und es funktioniert .. Es gibt Level 1, Level 2 usw., aber die Ebenen sind alle gleich. – Craig
Haben Sie das versucht? 'LevelSelected = "Camera.GetComponent() Pattern1().";' –
josehzz