版权声明:若有错误之处,欢迎指正!如有侵权,请联系删除! https://blog.csdn.net/qq_21397217/article/details/80826572
Unity中StartCoroutine和StartCoroutine_Auto方法的区别
在Unity中可以看到一个 public Coroutine StartCoroutine_Auto(IEnumerator routine)
方法,没有任何注释说明,甚至在官方API文档中都看不到这个方法。
其实这个方法已经被废弃掉了,它本质上与 public Coroutine StartCoroutine(IEnumerator routine)
没有区别,因为 StartCoroutine_Auto
的内部直接调用了 StartCoroutine
。
看一下这两个方法的源码就能知道,调用 StartCoroutine_Auto
就是间接调用了 StartCoroutine
,而 StartCoroutine
调用了本地代码。
// Starts a coroutine.
public Coroutine StartCoroutine(IEnumerator routine)
{
return this.StartCoroutine_Auto_Internal(routine);
}
[Obsolete("StartCoroutine_Auto has been deprecated. Use StartCoroutine instead (UnityUpgradable) -> StartCoroutine([mscorlib] System.Collections.IEnumerator)", false)]
public Coroutine StartCoroutine_Auto(IEnumerator routine)
{
return this.StartCoroutine(routine);
}
[GeneratedByOldBindingsGenerator]
[MethodImpl(MethodImplOptions.InternalCall)]
private extern Coroutine StartCoroutine_Auto_Internal(IEnumerator routine);