public void onAnalog(String name, float value, float tpf) {
        if (stateManager.hasState(game)) {
            if (name.equals("Lift")) {
                if (selected == -1) {
                    return;
                }
                Spatial selectedBox = rootNode.getChild("box-" + selected);
                if (selectedBox.getLocalTranslation().y < 10) {
                    selectedBox.getControl(RigidBodyControl.class).applyImpulse(new Vector3f(0, 10f, 0), new Vector3f(0, 0, 0));
                }
            }
            if (name.equals("rotateLeft")) {
                Quaternion rotateR = new Quaternion().fromAngleAxis(-FastMath.PI * tpf, Vector3f.UNIT_Y);
                rotateR.multLocal(viewDirection);
                playerControl.setViewDirection(viewDirection);

            }
            if (name.equals("rotateRight")) {
                Quaternion rotateR = new Quaternion().fromAngleAxis(FastMath.PI * tpf, Vector3f.UNIT_Y);
                rotateR.multLocal(viewDirection);
                playerControl.setViewDirection(viewDirection);
            }

            if (name.equals("rotateUp")) {
            }
            if (name.equals("rotateDown")) {
            }
            
            walkDirection.set(cam.getDirection()).normalizeLocal();
        }
    }