Esempio n. 1
0
 public void Start()
 {
     Debug.Assert(m_peer == null, "Already started!");
     m_peer = new MyLidgrenPeer(m_netConfig);
     //m_peer.LogAll();
     m_peer.Log(MyEventEnum.MISSION_PROGRESS, MyLoggingTypeEnum.NAME);
     m_peer.MessageFilter = new MessageFilterHandler(MessageFilter);
     m_peer.Start();
     m_peer.PeerConnected    += new Action <NetConnection>(m_peer_PeerConnected);
     m_peer.PeerDisconnected += new Action <NetConnection>(m_peer_PeerDisconnected);
 }
Esempio n. 2
0
        /// <summary>
        /// Shuts down multiplayer networking (game, lobby, everything)
        /// </summary>
        /// <param name="waitForCompletion">Wait for completion (close socket). When you will initialize instance again immediatelly, set to true to prevent "Socket already bound exception".</param>
        public void Shutdown(bool waitForCompletion = false)
        {
            if (m_peer != null)
            {
                m_peer.Close();
            }

            if (m_peer != null && m_peer.Status != NetPeerStatus.ShutdownRequested && m_peer.Status != NetPeerStatus.NotRunning)
            {
                m_peer.Shutdown(String.Empty);

                if (waitForCompletion)
                {
                    m_peer.WaitForStatusCleared(NetPeerStatus.ShutdownRequested, TimeSpan.FromMilliseconds(200));
                }
            }
            m_bufferedMessages.Clear();
            ServerConnected    = null;
            ServerDisconnected = null;
            PlayerDisconnected = null;
            m_serverConnection = null;
            m_peer             = null;
        }
Esempio n. 3
0
 public MyNatIntroduction(MyLidgrenPeer peer)
 {
     m_peer = peer;
 }
 public MyNatIntroduction(MyLidgrenPeer peer)
 {
     m_peer = peer;
 }