public void Update(float deltaTime) { for (int i = m_AcitveLoaderList.Count - 1; i >= 0; --i) { ILoader loader = m_AcitveLoaderList[i]; loader.Update(deltaTime); if (loader.IsDone) { m_AcitveLoaderList.RemoveAt(i); loader.Complete(); RecycleLoader(loader); } } if (m_Pause) { return; } while (m_AcitveLoaderList.Count < m_MaxLoadCount && m_WaitingLoaderList.Count > 0) { ILoader loader = PopHighestPriorityLoader(); m_AcitveLoaderList.Add(loader); loader.Begin(); } }