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 // =========================================================== }