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-17 09:29:44 -0500
committerJakob L. Kreuze <jakob@memeware.net>2018-12-17 09:29:44 -0500
commit1321cdd4ef707c6375cbb6ea6d49f3839a2a4a53 (patch)
tree446452694a9c6a448e37ea79e38535f644b4580c /app/src/main/java/space/jakob/mines/GameActivity.kt
parentc9f1455e82b25f05c3c4c4d6e426abd639a95c83 (diff)
Initial implementation of movement with scrolling
Diffstat (limited to 'app/src/main/java/space/jakob/mines/GameActivity.kt')
-rw-r--r--app/src/main/java/space/jakob/mines/GameActivity.kt27
1 files changed, 22 insertions, 5 deletions
diff --git a/app/src/main/java/space/jakob/mines/GameActivity.kt b/app/src/main/java/space/jakob/mines/GameActivity.kt
index 929c020..927955e 100644
--- a/app/src/main/java/space/jakob/mines/GameActivity.kt
+++ b/app/src/main/java/space/jakob/mines/GameActivity.kt
@@ -13,26 +13,43 @@
package space.jakob.mines
import android.support.v7.app.AppCompatActivity
+import android.support.v4.view.GestureDetectorCompat
import android.os.Bundle
+import android.view.GestureDetector
import android.view.MotionEvent
import android.util.Log
class GameActivity : AppCompatActivity() {
lateinit var gameView: GameView
+ lateinit var gestureDetector: GestureDetectorCompat
- override fun onTouchEvent(event: MotionEvent): Boolean {
- val (x, y) = gameView.toGridCoordinates(event.x.toInt(), event.y.toInt())
- gameView.grid?.let {
- it.reveal(x, y)
+ // Implements the callbacks for gestureDetector.
+ val gestureListener = object : GestureDetector.SimpleOnGestureListener() {
+ override fun onScroll(e1: MotionEvent, e2: MotionEvent, dx: Float, dy: Float): Boolean {
+ with (gameView) {
+ cameraX = (cameraX + dx / 100.0).coerceIn(0.0, gameView.maxCameraX)
+ cameraY = (cameraY + dy / 100.0).coerceIn(0.0, gameView.maxCameraY)
+ }
gameView.invalidate()
+ return false
+ }
+ }
+
+ override fun onTouchEvent(event: MotionEvent): Boolean {
+ return if (gestureDetector.onTouchEvent(event)) {
+ true
+ } else {
+ super.onTouchEvent(event)
}
- return true
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_game)
+
gameView = findViewById(R.id.view) as GameView
gameView.grid = Grid(8, 8, 10)
+
+ gestureDetector = GestureDetectorCompat(this, gestureListener)
}
}