walkingBackwards = false; } else
else if (rotateOnly && nowTurning && !walkingBackwards && !walkingForward) ; else
    public void update(float time) {        if ( !isEnabled() ) return;        prevLoc.set(node.getLocalTranslation());        loc.set(prevLoc);        super.update(time);        node.getLocalTranslation().subtract(loc, loc);        if (!loc.equals(Vector3f.ZERO)) {            float distance = loc.length();            if (distance != 0)                loc.divideLocal(distance); // this is same as normalizeLocal.                        float actAngle = 0;            if (upVector.y == 1) {                actAngle = FastMath.atan2(loc.z, loc.x);            } else if (upVector.x == 1) {                actAngle = FastMath.atan2(loc.z, loc.y);            } else if (upVector.z == 1) {                actAngle = FastMath.atan2(loc.y, loc.x);            }                        calcFaceAngle(actAngle, time);            node.getLocalTranslation().set(prevLoc);            node.getLocalRotation().fromAngleNormalAxis(-faceAngle, upVector);            node.getLocalRotation().getRotationColumn(0, calcVector).multLocal(distance);            if (lockBackwards && walkingBackwards) {                node.getLocalTranslation().subtractLocal(calcVector);                walkingBackwards = false;            } else                node.getLocalTranslation().addLocal(calcVector);        }    }