Example #1
0
 internal void SetCentre(ConnectionCentre centre)
 {
     m_connectionCentre = centre;
 }
Example #2
0
        public void ConnectTo(Connection connection)
        {
            Disconnect();

            if (connection.m_connectionCentre != null)
            {
                m_connectionCentre = connection.m_connectionCentre;
                m_connectionCentre.Connected.Add(this);
            }
            else
            {
                m_connectionCentre = new ConnectionCentre();
                m_connectionCentre.Connected.Add(this);
                connection.m_connectionCentre = m_connectionCentre;
                m_connectionCentre.Connected.Add(connection);
            }
        }
Example #3
0
 public void Disconnect()
 {
     if (m_connectionCentre != null)
     {
         m_connectionCentre.Connected.Remove(this);
         if (m_connectionCentre.Connected.Count == 1)
         {
             m_connectionCentre.Connected[0].m_connectionCentre = null;
             m_connectionCentre.Connected.Clear();
         }
         m_connectionCentre = null;
     }
 }
 /// <summary>
 /// Connects two <see cref="ConnectionCentre"/>s together.
 /// </summary>
 /// <param name="destination">The ConnectionCentre to merge to.</param>
 /// <param name="b">The ConnectionCentre that will be made redundant.</param>
 static void JoinConnectionCentres(ConnectionCentre destination, ConnectionCentre b)
 {
     while (b.Connected.Count > 0)
     {
         b.Connected[0].ConnectTo(destination.Connected.First());
     }
 }