public void UnRegisterMirror(JMirrorBase m) { for (int i = 0; i < m_count; i++) { if (m_mirrors[i] == m) { if (i == m_count - 1) { m_mirrors[i] = null; } else { m_mirrors[i] = m_mirrors[m_count - 1]; m_mirrors[m_count - 1] = null; } m_count--; return; } } }
public void RegisterMirror(JMirrorBase m) { foreach (JMirrorBase mb in m_mirrors) { if (mb == m) { return; } } if (m_count == m_capacity) { m_capacity <<= 2; JMirrorBase[] new_mirrors = new JMirrorBase[m_capacity]; m_mirrors.CopyTo(new_mirrors, 0); m_mirrors = new_mirrors; } m_mirrors[m_count] = m; m_count++; }