Столкнулся с ошибкой:
!Thread::EqualsCurrentThreadID(m_MainThreadID)
Ошибка происходит при загрузке AssetBundle (возможно при любой загрузке, не проверял) через WWW. Блокирование потоков не помогает:
- Код: Выделить всё
private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
lock (www)
{
if (www.error == null)
{
Progress(this, www.progress); //Это событие. Загрузка проходит без ошибок
if (www.isDone) //При считывании свойства есть пара ошибок
Complete(this, www.assetBundle); //Это событие. Дальше просто вытягивается mainAsset, что приводит к большому числу ошибок
}
}
}
Иногда эти ошибки приводят к полному зависанию программы, иногда объект появляется на сцене (частично или полностью), но ошибки остаются.
Никак не могу понять в чём может быть причина. Объект блокируется от посторонних потоков и выполняется в основном потоке(в том же, что и первый скрипт на сцене). На мой взгляд это полностью исключает влияние остальных потоков.
Читал на англоязычных форумах, что это ошибка версии 2.6, это так?
Кто нить встречался с такой проблемой? Помогите плз обойти эту ошибку.