private void Clear() { if (m_Mgr != null) { var node = m_AgentList.First; while (node != null) { var next = node.Next; if (node.Value != null) { m_Mgr.RemoveAgent(node.Value); } node = next; } m_Mgr.RequestDisposal(); m_Mgr = null; } m_AgentList.Clear(); }