package org.anddev.andengine.engine.options; import org.anddev.andengine.engine.camera.Camera; import org.anddev.andengine.engine.options.resolutionpolicy.IResolutionPolicy; /** * (c) 2010 Nicolas Gramlich * (c) 2011 Zynga Inc. * * @author Nicolas Gramlich * @since 15:59:52 - 09.03.2010 */ public class EngineOptions { // =========================================================== // Constants // =========================================================== // =========================================================== // Fields // =========================================================== private final boolean mFullscreen; private final ScreenOrientation mScreenOrientation; private final IResolutionPolicy mResolutionPolicy; private final Camera mCamera; private final TouchOptions mTouchOptions = new TouchOptions(); private final RenderOptions mRenderOptions = new RenderOptions(); private boolean mNeedsSound; private boolean mNeedsMusic; private WakeLockOptions mWakeLockOptions = WakeLockOptions.SCREEN_BRIGHT; private int mUpdateThreadPriority = android.os.Process.THREAD_PRIORITY_DEFAULT;; // =========================================================== // Constructors // =========================================================== public EngineOptions(final boolean pFullscreen, final ScreenOrientation pScreenOrientation, final IResolutionPolicy pResolutionPolicy, final Camera pCamera) { this.mFullscreen = pFullscreen; this.mScreenOrientation = pScreenOrientation; this.mResolutionPolicy = pResolutionPolicy; this.mCamera = pCamera; } // =========================================================== // Getter & Setter // =========================================================== public TouchOptions getTouchOptions() { return this.mTouchOptions; } public RenderOptions getRenderOptions() { return this.mRenderOptions; } public boolean isFullscreen() { return this.mFullscreen; } public ScreenOrientation getScreenOrientation() { return this.mScreenOrientation; } public IResolutionPolicy getResolutionPolicy() { return this.mResolutionPolicy; } public Camera getCamera() { return this.mCamera; } public int getUpdateThreadPriority() { return this.mUpdateThreadPriority; } /** * @param pUpdateThreadPriority Use constants from: {@link android.os.Process}. */ public void setUpdateThreadPriority(final int pUpdateThreadPriority) { this.mUpdateThreadPriority = pUpdateThreadPriority; } public boolean needsSound() { return this.mNeedsSound; } public EngineOptions setNeedsSound(final boolean pNeedsSound) { this.mNeedsSound = pNeedsSound; return this; } public boolean needsMusic() { return this.mNeedsMusic; } public EngineOptions setNeedsMusic(final boolean pNeedsMusic) { this.mNeedsMusic = pNeedsMusic; return this; } public WakeLockOptions getWakeLockOptions() { return this.mWakeLockOptions; } public EngineOptions setWakeLockOptions(final WakeLockOptions pWakeLockOptions) { this.mWakeLockOptions = pWakeLockOptions; return this; } // =========================================================== // Methods for/from SuperClass/Interfaces // =========================================================== // =========================================================== // Methods // =========================================================== // =========================================================== // Inner and Anonymous Classes // =========================================================== public static enum ScreenOrientation { // =========================================================== // Elements // =========================================================== LANDSCAPE, PORTRAIT; } }