/// <summary> /// 更新 /// </summary> private void UpdateGroup() { int index = 0; while (index < m_ListLoaderGroups.Count) { LoaderGroup group = m_ListLoaderGroups[index]; group.Update(); if (group.isFinish) { LoaderGroupPool.Release(group); m_ListLoaderGroups.RemoveAt(index); } else { ++index; } } while (m_ListLoaderGroups.Count < kMaxGroupCount) { if (!StartNextGroup()) { break; } } }
/// <summary> /// 获得加载组 /// </summary> /// <returns></returns> public LoaderGroup PopGroup(LoadPriority priority = LoadPriority.Normal) { LoaderGroup group = LoaderGroupPool.Get(this); group.priority = priority; m_DicLoaderGroupWaits[priority].Enqueue(group); return(group); }