void toggleLift() {
        //System.out.println("Toggle lift");
        if (cloud != null) {
            //System.out.println("set cloud to null");
            cloud = null;
            app.cameraMan.cutSetup(flyingDot, flyingDot.isUser);
            return;
        }

        if (circuit != null) {
            //System.out.println("set circuit to null");
            circuit = null;
            circuitPoint = null;
            app.cameraMan.cutSetup(flyingDot, flyingDot.isUser);
            return;
        }

        if (circlePoint != null) {
            //System.out.println("set circle point to null");
            circlePoint = null;
            app.cameraMan.cutSetup(flyingDot, flyingDot.isUser);
            return;
        }

        Cloud c = app.sky.getCloudAt(flyingDot.p);
        if (c != null) {
            //System.out.println("set cloud !");
            setCloud(c);
            app.cameraMan.cutSetup(cloud, flyingDot.isUser);
            return;
        }

        Hill h = app.landscape.getHillAt(flyingDot.p);
        if (h != null) {
            //System.out.println("set hill !");
            setCircuit(h.getCircuit());
            app.cameraMan.cutSetup(h, flyingDot.isUser);
            return;
        }

        //no cloud or ridge - do a wiggle
        //System.out.println("no cloud or ridge, so circle !");
        wiggleCount = wiggleSize * 4 + 1;
    }