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 | 21 |
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() + } } } |