public void Tick() //This method should be called by MatchEngine { for (int i = m_activeTasks.Count - 1; i >= 0; --i) { PathFinderTask task = m_activeTasks[i]; Debug.Assert(!task.IsTerminated); if (task.CallbackIfCompleted()) { if (!task.IsTerminated && m_activeTasks[i] == task) { m_activeTasks.RemoveAt(i); m_idToActiveTask.Remove(task.UnitId); } } } }