public void RemoveAllManagers <T>() where T : class { for (int index = m_managers_size - 1; index >= 0; index--) { if (m_managers[index] is T) { ArrayEx.RemoveAt(m_managers, ref m_managers_size, index); } } ArrayEx.Trim(ref m_managers, ref m_managers_size); }