Exemple #1
0
 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;
         }
     }
 }
Exemple #2
0
    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++;
    }