package org.andengine.engine.options;
import org.andengine.engine.Engine.EngineLock;
import org.andengine.engine.Engine.UpdateThread;
import org.andengine.engine.camera.Camera;
import org.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 EngineLock mEngineLock;
private final boolean mFullscreen;
private final ScreenOrientation mScreenOrientation;
private final IResolutionPolicy mResolutionPolicy;
private final Camera mCamera;
private final TouchOptions mTouchOptions = new TouchOptions();
private final AudioOptions mAudioOptions = new AudioOptions();
private final RenderOptions mRenderOptions = new RenderOptions();
private WakeLockOptions mWakeLockOptions = WakeLockOptions.SCREEN_ON;
private UpdateThread mUpdateThread;
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 boolean hasEngineLock() {
return this.mEngineLock != null;
}
public EngineLock getEngineLock() {
return this.mEngineLock;
}
public void setEngineLock(final EngineLock pEngineLock) {
this.mEngineLock = pEngineLock;
}
public TouchOptions getTouchOptions() {
return this.mTouchOptions;
}
public AudioOptions getAudioOptions() {
return this.mAudioOptions;
}
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 boolean hasUpdateThread() {
return this.mUpdateThread != null;
}
public UpdateThread getUpdateThread() {
return this.mUpdateThread;
}
public void setUpdateThread(final UpdateThread pUpdateThread) {
this.mUpdateThread = pUpdateThread;
}
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 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
// ===========================================================
}