public static void LoadModelInQueue(string modelName, LoadSingleFinish delFinish, object param1, object param2, object param3) { ModelLoadData curData = new ModelLoadData(ModelLoadData.LoadType.MODEL, modelName, delFinish, param1, param2, param3); if (m_dicSingleBundleCache.ContainsKey(curData.GetLoadUrl())) { if (null != delFinish) { delFinish(modelName, m_dicSingleBundleCache[curData.GetLoadUrl()], param1, param2, param3); } return; } m_loadBundleQueue.Enqueue(curData); }
private static IEnumerator LoadOneBundleFromQueue(ModelLoadData curData) { string bundlePath = curData.GetLoadUrl(); if (!LoadFromCache(bundlePath, curData.m_modelName, curData.m_delFinish, curData.m_param1, curData.m_param2, curData.m_param3)) { #if UNITY_WP8 while (m_SingleBundleLoadingList.Contains(bundlePath)) { yield return(null); } if (m_dicSingleBundleCache.ContainsKey(bundlePath)) { if (null != curData.m_delFinish) { curData.m_delFinish(bundlePath, m_dicSingleBundleCache[bundlePath], curData.m_param1, curData.m_param2, curData.m_param3); } yield break; } if (!m_SingleBundleLoadingList.Contains(bundlePath)) { m_SingleBundleLoadingList.Add(bundlePath); WWW www = new WWW(bundlePath); yield return(www); ProcessLoad(www, bundlePath, curData.m_modelName, curData.m_delFinish, curData.m_param1, curData.m_param2, curData.m_param3); m_SingleBundleLoadingList.Remove(bundlePath); } #else WWW www = new WWW(bundlePath); yield return(www); ProcessLoad(www, bundlePath, curData.m_modelName, curData.m_delFinish, curData.m_param1, curData.m_param2, curData.m_param3); #endif } }