说明:
很多时候,我们都会遇到这样的情况,当需要加载N个资源时,往往需要用WWW或者异步加载,但如何判断N个资源是否加载完成就是一个判断的关键点,这里介绍一种自己写的方法:使用递归执行+协程的方式;
代码如下所示:
int completedNumber = -1;
IEnumerator RecursionFunc(int currentNumber)
{
if (currentNumber == 0)
{
Debug.Log("已经完成啦!");
yield break;
}
else
{
StartCoroutine(IELoadSomethging(currentNumber));
do
{
yield return new WaitForEndOfFrame();
}
while (completedNumber != currentNumber);
Debug.Log("已完成第:————————————————————" + currentNumber);
StartCoroutine(RecursionFunc(currentNumber - 1));
}
}
IEnumerator IELoadSomethging(int currentNumber)
{
yield return new WaitForSeconds(1);
Debug.Log("正在异步加载第:——" + currentNumber.ToString());
completedNumber = currentNumber;
}