diff options
Diffstat (limited to 'app/src/main/java/space/jakob/mines/GameActivity.kt')
| -rw-r--r-- | app/src/main/java/space/jakob/mines/GameActivity.kt | 58 |
1 files changed, 15 insertions, 43 deletions
diff --git a/app/src/main/java/space/jakob/mines/GameActivity.kt b/app/src/main/java/space/jakob/mines/GameActivity.kt index 9e231c6..b6135b3 100644 --- a/app/src/main/java/space/jakob/mines/GameActivity.kt +++ b/app/src/main/java/space/jakob/mines/GameActivity.kt @@ -27,17 +27,13 @@ class GameActivity : AppCompatActivity() { // Implements the callbacks for gestureDetector. val gestureListener = object : GestureDetector.SimpleOnGestureListener() { - // TODO: Replace with onUp - // override fun onDown(e: MotionEvent): Boolean { - // with (gameView) { - // grid?.let { - // val (x, y) = toGridCoordinates(e.x.toInt(), e.y.toInt()) - // it.reveal(x, y) - // invalidate() - // } - // } - // return false - // } + override fun onSingleTapUp(e: MotionEvent): Boolean { + with (gameView) { + revealAt(e.x.toInt(), e.y.toInt()) + invalidate() + } + return false + } override fun onScroll(e1: MotionEvent, e2: MotionEvent, dx: Float, dy: Float): Boolean { with (gameView) { @@ -50,38 +46,14 @@ class GameActivity : AppCompatActivity() { // Implements the callbacks for scaleGestureDetector. val scaleListener = object : ScaleGestureDetector.SimpleOnScaleGestureListener() { - // override fun onScale(scaleGestureDetector: ScaleGestureDetector) : Boolean { - // with (gameView) { - // grid?.let { - // val factor = scaleGestureDetector.getScaleFactor() - - // var currentDistance = sightX - cameraX - // var desiredDistance = currentDistance / factor - // var deltaDistance = Math.abs(desiredDistance - currentDistance) / 2 - - // if (factor < 1.0) { - // cameraX = (cameraX - deltaDistance).coerceAtLeast(0.0) - // sightX = (sightX + deltaDistance).coerceAtMost(it.width.toDouble() - cameraX) - // } else { - // cameraX = cameraX + deltaDistance - // sightX = sightX - deltaDistance - // } - - // currentDistance = sightY - cameraY - // desiredDistance = currentDistance / factor - // deltaDistance = Math.abs(desiredDistance - currentDistance) / 2 - - // if (factor < 1.0) { - // cameraY = (cameraY - deltaDistance).coerceAtLeast(0.0) - // sightY = (sightY + deltaDistance).coerceAtMost(it.height.toDouble() - cameraY) - // } else { - // cameraY = cameraY + deltaDistance - // sightY = sightY - deltaDistance - // } - // } - // } - // return false - // } + override fun onScale(scaleGestureDetector: ScaleGestureDetector) : Boolean { + with (gameView) { + val factor = scaleGestureDetector.getScaleFactor() + scaleCamera(factor.toDouble()) + invalidate() + } + return false + } } override fun onTouchEvent(event: MotionEvent): Boolean { |