package org.andengine.input.touch.detector;
import org.andengine.entity.scene.IOnSceneTouchListener;
import org.andengine.entity.scene.Scene;
import org.andengine.input.touch.TouchEvent;
/**
* (c) 2010 Nicolas Gramlich
* (c) 2011 Zynga Inc.
*
* @author Nicolas Gramlich
* @since 15:59:00 - 05.11.2010
*/
public abstract class BaseDetector implements IOnSceneTouchListener {
// ===========================================================
// Constants
// ===========================================================
// ===========================================================
// Fields
// ===========================================================
private boolean mEnabled = true;
// ===========================================================
// Constructors
// ===========================================================
// ===========================================================
// Getter & Setter
// ===========================================================
public boolean isEnabled() {
return this.mEnabled;
}
public void setEnabled(final boolean pEnabled) {
this.mEnabled = pEnabled;
}
// ===========================================================
// Methods for/from SuperClass/Interfaces
// ===========================================================
public abstract void reset();
protected abstract boolean onManagedTouchEvent(final TouchEvent pSceneTouchEvent);
@Override
public boolean onSceneTouchEvent(final Scene pScene, final TouchEvent pSceneTouchEvent) {
return this.onTouchEvent(pSceneTouchEvent);
}
public final boolean onTouchEvent(final TouchEvent pSceneTouchEvent) {
if(this.mEnabled) {
return this.onManagedTouchEvent(pSceneTouchEvent);
} else {
return false;
}
}
// ===========================================================
// Methods
// ===========================================================
// ===========================================================
// Inner and Anonymous Classes
// ===========================================================
}