unity 的方法放在非主线程中:
有个项目需要unity提供服务:
这个服务有多个线程需要,在子线程中创建GameObject的相关方法,这个时会报错
在网路上找到了一个方法可以解决这个问题
链接: UnityMainThreadDispatcher
使用这个插件可以
1.0 将这些文件下载到自己的项目中
2.0 将这个文件中的UnityMainThreadDispatcher.cs 脚本挂在场景中一个活跃的gameObject上
就可以了
3.0 然后再代码中将需要在子线程中运行的代码写在 UnityMainThreadDispatcher.Instance().Enqueue()
这个方法里面,就好了。
UnityMainThreadDispatcher.Instance().Enqueue(() => {
//你的方法
Debug.Log ("This is executed from the main thread")
});