summaryrefslogtreecommitdiff
path: root/app/src/main/java/space/jakob/mines/GameActivity.kt
diff options
context:
space:
mode:
authorJakob L. Kreuze <jakob@memeware.net>2018-12-21 13:31:03 -0500
committerJakob L. Kreuze <jakob@memeware.net>2018-12-21 13:31:03 -0500
commit2560d1da9a6f9122371c34c412b21a79ebaf76cb (patch)
tree7710618ea28d670fed969f2dbb204bab4ad2de85 /app/src/main/java/space/jakob/mines/GameActivity.kt
parent033d47b09b977730745db26ab02f857c6343e042 (diff)
(Still kind of broken) implementation of revealing and zooming.
Diffstat (limited to 'app/src/main/java/space/jakob/mines/GameActivity.kt')
-rw-r--r--app/src/main/java/space/jakob/mines/GameActivity.kt58
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 {