private void ClickLogin() { if (_usernameTextBox.GetText() != "" && _passwordTextBox.GetText() != "") { GameState gameState = new GameState(); RpgClientConnection connection = new RpgClientConnection(gameState, _usernameTextBox.GetText(), _passwordTextBox.GetText(), false); if (connection.Connected()) { StateWindow.Instance.PushState(gameState); } else { gameState.Destroy(); } } }
public override void OnUpdateFrame(FrameEventArgs e) { if (_connection != null) { if (_connection.Connected()) { _connection.Update((float)e.Time); } else { StateWindow.Instance.PopState(); this.Destroy(); return; } } base.OnUpdateFrame(e); if (_movementTimer > 0) { _movementTimer -= (float)e.Time; } if (_movementTimer <= 0) { KeyboardState keyState = Keyboard.GetState(); bool moving = false; MovementDirection direction = MovementDirection.Down; if (keyState.IsKeyDown(Key.W)) { moving = true; if (keyState.IsKeyDown(Key.A)) { direction = MovementDirection.UpperLeft; } else if (keyState.IsKeyDown(Key.D)) { direction = MovementDirection.UpperRight; } else { direction = MovementDirection.Up; } } else if (keyState.IsKeyDown(Key.S)) { moving = true; if (keyState.IsKeyDown(Key.A)) { direction = MovementDirection.LowerLeft; } else if (keyState.IsKeyDown(Key.D)) { direction = MovementDirection.LowerRight; } else { direction = MovementDirection.Down; } } else if (keyState.IsKeyDown(Key.A)) { moving = true; direction = MovementDirection.Left; } else if (keyState.IsKeyDown(Key.D)) { moving = true; direction = MovementDirection.Right; } if (moving) { ClientCommand command = new ClientCommand(ClientCommand.CommandType.MovePlayer); command.SetParameter("Direction", (int)direction); RpgClientConnection.Instance.AddClientCommand(command); MapComponent.Instance.MovePlayer(direction); } _movementTimer = 0.1f; } }