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); }
/// <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; }
public MyNatIntroduction(MyLidgrenPeer peer) { m_peer = peer; }