Example #1
0
        //Vector2 _lastMoveVelocity;

        protected override void OnBeforeUpdaters(object sender, EventArgs e)
        {
            // player
            var moveVelocity = (Vector2d)_playerMoveInput.Value.Xy;

            _playerMoveInput.Update();
            _player.Velocity += _player.OnGround ? (moveVelocity.X * .02D, _playerMoveInput.Value.Y > 0F ? .17D : 0D) : (moveVelocity.X * .014D, 0D);//(Vector2d)(moveVelocity - _lastMoveVelocity) * .1D;
            _player.Update(_chunk.GetCubes(_player.GetBoxBound().Inflated(_player.Velocity)));

            //_player.Velocity -= (0D, _player.GravityScale / 600D);
            //_player.Position += _player.Velocity;
            //_lastMoveVelocity = moveVelocity;

            // camera
            _viewInput.Update();
            _scale += _viewInput.Value.Z * .01F;
            _scale  = Math.Max(Math.Min(_scale, 5F), 1F);

            if (KeyboardState.IsKeyDown(Keys.GraveAccent))
            {
                CenterPlayer();
            }
            else
            {
                _viewCenter += _viewInput.Value.Xy / _scale * 1.5F;
            }

            base.OnBeforeUpdaters(sender, e);
        }
Example #2
0
        protected override void OnBeforeUpdaters(object sender, EventArgs e)
        {
            _eyeInput.Update();
            _moveInput.Update();

            _eye.Rotation += _eyeInput.Value.Xy;
            var tmp = Matrix2.CreateRotation(MathHelper.DegreesToRadians(_eye.Rotation.X)) * new Vector2(_moveInput.Value.X, -_moveInput.Value.Z);

            _playerObject.Velocity = new Vector3d(tmp.X, Math.Min(5D, _playerObject.Velocity.Y + _moveInput.BaseInput.Value.Y * .25), -tmp.Y);

            PlayerMovement();
            Title = _playerObject.Velocity.ToString();

            base.OnBeforeUpdaters(sender, e);
        }