উত্তর:
public static IEnumerator Sequence(params IEnumerator[] sequence)
{
for(int i = 0 ; i < sequence.Length; ++i)
{
while(sequence[i].MoveNext())
yield return sequence[i].Current;
}
}
ব্যবহারের উদাহরণ:
IEnumerator PrintCoroutine(string arg)
{
yield return new WaitForSeconds(0.3f);
}
StartCoroutine(Sequence(PrintCoroutine("foo"), PrintCoroutine("bar")));
হাইজেনবাগ যা বর্ণনা করেছেন তা ছাড়াও, ityক্য ম্যানুয়ালটি যেটি সুস্পষ্ট করে না তা হ'ল আপনি yield return
কোনও Coroutine
বস্তু করতে পারবেন , যা আপনি StartCoroutine
কল থেকে পেয়েছেন ।
public IEnumerator RunColorCoroutineLoop()
{
while (true) {
yield return StartCoroutine(FirstColorCoroutine());
yield return StartCoroutine(SecondColorCoroutine());
yield return StartCoroutine(ThirdColorCoroutine());
yield return StartCoroutine(FourthColorCoroutine());
}
}
public IEnumerator FirstColorCoroutine()
{
SetColor("color1");
yield return new WaitForSeconds(1f);
}
public IEnumerator SecondColorCoroutine()
{
SetColor("color2");
yield return new WaitForSeconds(1f);
}
public IEnumerator ThirdColorCoroutine()
{
SetColor("color3");
yield return new WaitForSeconds(1f);
}
public IEnumerator FourthColorCoroutine()
{
SetColor("color4");
yield return new WaitForSeconds(1f);
}
এটি কখনও কখনও মুভনেেক্সট লুপের চেয়ে আরও ভাল পড়াতে সক্ষম করে তোলে তবে এতে অসুবিধাটিও রয়েছে যে আপনি শিশু করাউটিনকে উপরের কর্টিন লুপের মধ্যে যুক্তির মাধ্যমে চালানো থেকে আটকাতে পারবেন না, যা আইইনুমরেটারের শীর্ষে আরও পরিশীলিত প্রবাহ নিয়ন্ত্রণ কৌশল তৈরি করতে কার্যকর হতে পারে।
এ সম্পর্কে আরও তথ্যের জন্য আপনার এই ইউনিট ভিডিওটি দেখে নেওয়া উচিত যা আপনার নিজস্ব কর্টিন শিডিয়ুলার তৈরি না করে আপনার কর্টিনগুলি থেকে আরও বেশি বেশি লাভ করে।