private void Fire(PressingActionArgs args)
        {
            if (hologramRecording)
            {
                return;
            }
            Weapon weapon = getWeapon();

            if (weapon == null)
            {
                return;
            }
            weapon.shoot();
        }
        private void Move(PressingActionArgs args)
        {
            float     speed;
            Rigidbody rigidbody = Owner.GetComponent <Rigidbody>();
            float     delta     = (float)args.gameTime.ElapsedGameTime.TotalSeconds;

            switch (movement)
            {
            case Movement.WALK: speed = walkSpeed; break;

            case Movement.RUN: speed = runSpeed; break;

            case Movement.CROUCH: speed = crouchSpeed; break;

            default: speed = 0.0f; break;
            }

            Vector3 direction;

            switch (args.action)
            {
            case GameAction.MOVE_FORWARD: direction = Owner.LocalToWorldMatrix.Forward; break;

            case GameAction.MOVE_BACKWARD: direction = Owner.LocalToWorldMatrix.Backward; break;

            case GameAction.STRAFE_LEFT: direction = Owner.LocalToWorldMatrix.Left; break;

            case GameAction.STRAFE_RIGHT: direction = Owner.LocalToWorldMatrix.Right; break;

            default: direction = Vector3.Zero; break;
            }
            direction.Y = 0; direction.Normalize();

            if (rigidbody != null && (rigidbody.IsGrounded || !rigidbody.GravityEnabled) && Vector3.Dot(rigidbody.Velocity, direction) < speed)
            {
                rigidbody.AddForce(rigidbody.Mass * 5 * (speed - rigidbody.Velocity.Length()) * direction);
            }
        }
 private void UpTemp(PressingActionArgs args)
 {
     Owner.LocalPosition = Owner.LocalPosition + 100 * (float)args.gameTime.ElapsedGameTime.TotalSeconds * Vector3.UnitY;
 }