CEngineSharp_Server.Networking.NetManager.Update C# (CSharp) Method

Update() public method

public Update ( ) : void
return void
        public void Update()
        {
            NetIncomingMessage message;

            while ((message = _netServer.ReadMessage()) != null)
            {
                switch (message.MessageType)
                {
                    case NetIncomingMessageType.Data:
                        PacketType packetType = (PacketType)message.ReadInt16();

                        if (_packetHandlers.ContainsKey(packetType))
                        {
                            var eventArgs = new PacketReceivedEventArgs(message, message.SenderConnection);

                            foreach (var handler in _packetHandlers[packetType])
                                handler.Invoke(eventArgs);
                        }
                        break;

                    case NetIncomingMessageType.ConnectionApproval:
                        message.SenderConnection.Approve();
                        break;

                    case NetIncomingMessageType.StatusChanged:
                        if (message.SenderConnection.Status == NetConnectionStatus.Connected)
                        {
                            Console.WriteLine("Established connection with {0}.", message.SenderConnection.ToString());

                            if (this.Connection_Received != null)
                                this.Connection_Received.Invoke(this, new ConnectionEventArgs(message.SenderConnection));
                        }
                        else if (message.SenderConnection.Status == NetConnectionStatus.Disconnected)
                        {
                            Console.WriteLine("Lost connection with {0}.", message.SenderConnection.ToString());

                            if (this.Connection_Lost != null)
                                this.Connection_Lost.Invoke(this, new ConnectionEventArgs(message.SenderConnection));
                        }
                        break;

                    case NetIncomingMessageType.DiscoveryRequest:
                        NetOutgoingMessage response = _netServer.CreateMessage();
                        _netServer.SendDiscoveryResponse(response, message.SenderEndPoint);
                        break;

                    case NetIncomingMessageType.DebugMessage:
                        Console.WriteLine(message.ReadString());
                        break;

                    case NetIncomingMessageType.WarningMessage:
                        Console.WriteLine(message.ReadString());
                        break;

                    case NetIncomingMessageType.ErrorMessage:
                        Console.WriteLine(message.ReadString());
                        break;
                }
            }
        }