/// <summary> /// Invoked when a super-peer gains control over a zone. /// </summary> /// <param name="zone">Zone that super peer gained control of.</param> /// <param name="superPeer">Super peer that gained control.</param> private void SuperPeerGainedControl(Zone zone, ZoneSuperPeer superPeer) { // Is this us thats gained control of a zone? if (superPeer.ClientID == m_clientID) { SuperPeer peer = new SuperPeer(this, superPeer.ID, superPeer.ZoneID); peer.Initialize(); m_superPeers.Add(peer); Logger.Info("Gained control of zone #{0} as SuperPeer #{0}", LoggerVerboseLevel.High, zone.ID, superPeer.ID); } foreach (SuperPeer peer in m_superPeers) { peer.SuperPeerGainedControl(zone, superPeer); } }
/// <summary> /// Constructs a new instance of this class. /// </summary> /// <param name="gameClient">Game client hosting this connection.</param> /// <param name="service">Superpeer a client is connected to..</param> /// <param name="connection">Connection used to communicate with the super peer.</param> public SuperPeerToClientConnection(GameClientService gameClient, SuperPeer superpeer, Connection connection) { m_superpeer = superpeer; m_connection = connection; m_gameClient = gameClient; }