summaryrefslogtreecommitdiff
path: root/app/src/main/java/space/jakob/mines/GameActivity.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/space/jakob/mines/GameActivity.kt')
-rw-r--r--app/src/main/java/space/jakob/mines/GameActivity.kt21
1 files changed, 10 insertions, 11 deletions
diff --git a/app/src/main/java/space/jakob/mines/GameActivity.kt b/app/src/main/java/space/jakob/mines/GameActivity.kt
index 2ef2b70..f33be3a 100644
--- a/app/src/main/java/space/jakob/mines/GameActivity.kt
+++ b/app/src/main/java/space/jakob/mines/GameActivity.kt
@@ -19,6 +19,8 @@ import android.view.GestureDetector
import android.view.ScaleGestureDetector
import android.view.MotionEvent
import android.util.Log
+import java.util.Timer
+import kotlin.concurrent.schedule
class GameActivity : AppCompatActivity() {
lateinit var grid : Grid
@@ -32,7 +34,6 @@ class GameActivity : AppCompatActivity() {
override fun onSingleTapUp(e: MotionEvent): Boolean {
val (x, y) = gameView.toGridCoordinates(e.x.toInt(), e.y.toInt())
grid.reveal(x, y)
- gameView.invalidate()
return false
}
@@ -40,14 +41,10 @@ class GameActivity : AppCompatActivity() {
override fun onLongPress(e: MotionEvent) {
val (x, y) = gameView.toGridCoordinates(e.x.toInt(), e.y.toInt())
grid.flag(x, y)
- gameView.invalidate()
}
override fun onScroll(e1: MotionEvent, e2: MotionEvent, dx: Float, dy: Float): Boolean {
- with (gameView) {
- moveCamera(dx.toDouble(), dy.toDouble())
- invalidate()
- }
+ gameView.moveCamera(dx.toDouble(), dy.toDouble())
return false
}
}
@@ -55,11 +52,8 @@ class GameActivity : AppCompatActivity() {
// Implements the callbacks for scaleGestureDetector.
val scaleListener = object : ScaleGestureDetector.SimpleOnScaleGestureListener() {
override fun onScale(scaleGestureDetector: ScaleGestureDetector) : Boolean {
- with (gameView) {
- val factor = scaleGestureDetector.getScaleFactor()
- scaleCamera(factor.toDouble())
- invalidate()
- }
+ val factor = scaleGestureDetector.getScaleFactor()
+ gameView.scaleCamera(factor.toDouble())
return false
}
}
@@ -90,5 +84,10 @@ class GameActivity : AppCompatActivity() {
scaleGestureDetector = ScaleGestureDetector(this, scaleListener)
gameView.grid = grid
+
+ // TODO: Document regular invalidation.
+ Timer("Refresh", false).schedule(0, 1000 / 60) {
+ gameView.invalidate()
+ }
}
}