Example #1
0
        /// <inheritdoc/>
        public IPeerManager Connect(IPEndPoint endPoint)
        {
            var peerManager = new LiteNetLibPeerManager(netServer.Connect(endPoint, ApplicationKey));

            peers.Add(peerManager.PeerEndPoint, peerManager);
            return(peerManager);
        }
Example #2
0
 /// <inheritdoc/>
 public void OnPeerConnected(NetPeer peer)
 {
     if (!peers.TryGetValue(peer.EndPoint, out var peerManager))
     {
         peerManager = new LiteNetLibPeerManager(peer);
     }
     PeerConnected?.Invoke(peerManager);
 }
Example #3
0
 /// <inheritdoc/>
 public IPeerManager Connect(IPEndPoint endPoint)
 {
     if (masterPeer != null)
     {
         throw new ArgumentException("Client can be connected only to a single peer.");
     }
     masterPeer = new LiteNetLibPeerManager(NetClient.Connect(endPoint, ApplicationKey));
     return(masterPeer);
 }
Example #4
0
        /// <inheritdoc/>
        public void OnPeerDisconnected(NetPeer peer, DisconnectInfo disconnectInfo)
        {
            var disconnectedPeer = masterPeer;

            if (masterPeer.Peer == peer)
            {
                masterPeer = null;
            }
            PeerDisconnected?.Invoke(disconnectedPeer);
        }
Example #5
0
        /// <inheritdoc/>
        public void OnNetworkReceive(NetPeer peer, NetPacketReader reader, DeliveryMethod deliveryMethod)
        {
            if (MessageReceived == null)
            {
                return;
            }
            var message = new Message(new BytesStack(reader.GetRemainingBytes(), false));

            message.Type = LiteNetLibPeerManager.GetDeliveryMethod(deliveryMethod);
            MessageReceived?.Invoke(masterPeer, message);
        }
Example #6
0
 /// <inheritdoc/>
 public void OnPeerConnected(NetPeer peer)
 {
     if (masterPeer == null)
     {
         masterPeer = new LiteNetLibPeerManager(peer);
     }
     else if (!Equals(masterPeer.PeerEndPoint, peer.EndPoint))
     {
         throw new ArgumentException("Client can be connected only to a single peer.");
     }
     PeerConnected?.Invoke(masterPeer);
 }