Package de.venjinx.jme3.tests

Source Code of de.venjinx.jme3.tests.AdvancedApplication

package de.venjinx.jme3.tests;

import java.util.logging.Level;
import java.util.logging.Logger;

import com.jme3.app.ResetStatsState;
import com.jme3.app.SimpleApplication;
import com.jme3.app.state.AppState;
import com.jme3.app.state.AppStateManager;
import com.jme3.font.BitmapFont;
import com.jme3.system.AppSettings;

import de.venjinx.jme3.scenegraph.Scenegraph;

public abstract class AdvancedApplication extends SimpleApplication {

    private Logger log = Logger.getLogger(AdvancedApplication.class.getName());

    protected Scenegraph scenegraph = new Scenegraph();

    public AdvancedApplication(AppState... initialStates) {
        // Logger.getLogger("").setLevel(Level.OFF);

        log.setLevel(Level.INFO);

        stateManager = new AppStateManager(this);
        stateManager.attach(new ResetStatsState());

        settings = new AppSettings(false);
        settings.setAlphaBits(0);
        settings.setAudioRenderer("LWJGL");
        settings.setBitsPerPixel(24);
        settings.setDepthBits(24);
        settings.setEmulateMouse(false);                                        // use touch device
        settings.setEmulateMouseFlipAxis(false, false);
        settings.setFrameRate(-1);
        settings.setFrequency(60);
        settings.setFullscreen(false);
        settings.setIcons(null);
        settings.setRenderer("LWJGL-OpenGL-Any");
        settings.setResolution(800, 600);
        settings.setSamples(0);
        settings.setSettingsDialogImage("/com/jme3/app/Monkey.png");
        settings.setStencilBits(0);
        settings.setStereo3D(false);
        settings.setTitle("AdvancedApplication");
        settings.setUseInput(true);
        settings.setUseJoysticks(false);                                        // use joystick
        settings.setVSync(false);
        showSettings = false;

        setPauseOnLostFocus(false);

        if (initialStates != null)
            for (AppState a : initialStates)
                if (a != null)
                    stateManager.attach(a);

        rootNode = scenegraph.getRootNode();
    }

    /**
     * Retrieves the scenegraph for of this application.
     *
     * @return the scenegraph that manages all scene nodes in this application
     */
    public Scenegraph getScenegraph() {
        return scenegraph;
    }

    public BitmapFont getGUIFont() {
        return guiFont;
    }

    @Override
    public void start() {
        super.start();
        log.info("----------------Application started----------------\n");
    }

    @Override
    public void stop() {
        super.stop();
        System.out.println();
        log.info("----------------Application stopped----------------\n");
    }

    /**
     * Internal use only.
     */
    @Override
    public void requestClose(boolean esc) {
        context.destroy(false);
        System.out.println();
        log.info("----------------Application closed----------------\n");
    }
}
TOP

Related Classes of de.venjinx.jme3.tests.AdvancedApplication

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.