From 5cf8aec02aaaa1ddecb0b2350a306ca35d15a34a Mon Sep 17 00:00:00 2001 From: cmclark00 Date: Mon, 31 Mar 2025 20:30:06 -0400 Subject: [PATCH] Fix: Add piece placement tracking to update session stats correctly --- app/src/main/java/com/mintris/MainActivity.kt | 3 +++ app/src/main/java/com/mintris/model/GameBoard.kt | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/app/src/main/java/com/mintris/MainActivity.kt b/app/src/main/java/com/mintris/MainActivity.kt index ff56ed5..22f2ea8 100644 --- a/app/src/main/java/com/mintris/MainActivity.kt +++ b/app/src/main/java/com/mintris/MainActivity.kt @@ -267,6 +267,9 @@ class MainActivity : AppCompatActivity(), gameBoard.onPieceMove = { binding.holdPieceView.invalidate() } + gameBoard.onPiecePlaced = { + piecesPlaced++ + } // Set up music toggle binding.musicToggle.setOnClickListener { diff --git a/app/src/main/java/com/mintris/model/GameBoard.kt b/app/src/main/java/com/mintris/model/GameBoard.kt index 9dafdea..61bcf11 100644 --- a/app/src/main/java/com/mintris/model/GameBoard.kt +++ b/app/src/main/java/com/mintris/model/GameBoard.kt @@ -60,6 +60,7 @@ class GameBoard( var onPieceLock: (() -> Unit)? = null var onNextPieceChanged: (() -> Unit)? = null var onLineClear: ((Int, List) -> Unit)? = null + var onPiecePlaced: (() -> Unit)? = null // New callback for when a piece is placed // Store the last cleared lines private val lastClearedLines = mutableListOf() @@ -414,6 +415,9 @@ class GameBoard( // Trigger the piece lock vibration onPieceLock?.invoke() + // Notify that a piece was placed + onPiecePlaced?.invoke() + // Find and clear lines immediately findAndClearLines()