Gruppe22.Client.NetPlayer.Update C# (CSharp) Method

Update() public method

public Update ( GameTime gameTime ) : void
gameTime Microsoft.Xna.Framework.GameTime
return void
        public void Update(GameTime gameTime)
        {
            NetIncomingMessage message;
            while ((message = _client.ReadMessage()) != null)
            {
                switch (message.MessageType)
                {
                    case NetIncomingMessageType.WarningMessage:
                        _parent.HandleEvent(false, Backend.Events.ShowMessage, message.ReadString(), Color.Orange);
                        break;
                    case NetIncomingMessageType.ErrorMessage:
                        _parent.HandleEvent(false, Backend.Events.ShowMessage, message.ReadString(), Color.Red);
                        break;
                    case NetIncomingMessageType.DiscoveryResponse:
                        //Server hat seine Existenz bestätigt
                        if (!_servers.ContainsKey(message.SenderEndpoint.Address.ToString()))
                        {
                            string text = message.ReadString();
                            _parent.HandleEvent(false, Backend.Events.ShowMessage, "Found server '" + text + "' at IP " + message.SenderEndpoint.Address.ToString());
                            _servers.Add(message.SenderEndpoint.Address.ToString(), text);
                        }
                        // _client.Connect(message.SenderEndpoint);
                        break;
                    case NetIncomingMessageType.Data:
                        //Bei ankommenden Daten, diese verarbeiten.
                        byte type = message.ReadByte();
                        ProcessMessage(type, message);
                        break;
                    case NetIncomingMessageType.StatusChanged:
                        switch ((NetConnectionStatus)message.ReadByte())
                        {
                            case NetConnectionStatus.None:
                                _parent.HandleEvent(false, Backend.Events.ShowMessage, "Server not found.", Color.Red);
                                _connecting = false;
                                break;
                            case NetConnectionStatus.InitiatedConnect:
                                _parent.HandleEvent(false, Backend.Events.ShowMessage, "Asked for connection.", Color.Green);

                                break;
                            case NetConnectionStatus.RespondedConnect:
                                _parent.HandleEvent(false, Backend.Events.ShowMessage, "Server responded to Connect Request.", Color.Green);

                                break;
                            case NetConnectionStatus.Disconnecting:
                                _parent.HandleEvent(false, Backend.Events.ShowMessage, "Disconnecting.", Color.Red);

                                break;
                            case NetConnectionStatus.Connected:

                                _parent.HandleEvent(false, Backend.Events.ShowMessage, "Connected.", Color.Green);
                                _parent.HandleEvent(false, Backend.Events.Connect);

                                _connecting = false;
                                break;

                            case NetConnectionStatus.Disconnected:
                                _connecting = false;
                                _parent.HandleEvent(false, Backend.Events.ShowMessage, "Disconnected." + message.ReadString(), Color.Red);

                                _parent.HandleEvent(false, Backend.Events.Disconnect);
                                _client.DiscoverLocalPeers(666);

                                break;
                        }
                        break;
                }

            }
        }