2015-12-31 8 views
1

Есть ли способ иметь переменную точку для одного из нескольких сопрограмм в C# в Unity3D?Обратитесь к одной из многих сопрограмм в Unity3D?

public class Example : MonoBehaviour 
{ 
    ? something ? crt; 

    private IEnumerator CoroutineA() 
    { 
    } 

    private IEnumerator CoroutineB() 
    { 
    } 

    void Start() 
    { 
     crt = CoroutineA; 
     StartCoroutine(crt); 
    } 
} 
+0

«Напомним, что единство имеет определенную ситуацию с« Func »и« Action ». Что я должен вспоминать? – 31eee384

ответ

4

Тип, который вы ищете, является delegate. Делегаты похожи на указатели на функции и не относятся к Unity3D.

public class Example : MonoBehaviour 
{ 
    private delegate IEnumerator CoroutineDelegate(); 

    private IEnumerator CoroutineA() 
    { 
    } 

    private IEnumerator CoroutineB() 
    { 
    } 

    public void Start() 
    { 
     CoroutineDelegate crt = CoroutineA; 
     StartCoroutine(crt()); 
    } 
} 
+0

Facepalm, удивительный .. вы рок Бретт спасибо – Fattie