diff --git a/app/src/main/java/com/pixelmintdrop/MainActivity.kt b/app/src/main/java/com/pixelmintdrop/MainActivity.kt index da12577..5701d19 100644 --- a/app/src/main/java/com/pixelmintdrop/MainActivity.kt +++ b/app/src/main/java/com/pixelmintdrop/MainActivity.kt @@ -357,6 +357,12 @@ class MainActivity : AppCompatActivity(), binding.gameControlsContainer.visibility = View.GONE titleScreen.visibility = View.VISIBLE + // Hide landscape control panels if in landscape mode and title screen is visible + if (resources.configuration.orientation == android.content.res.Configuration.ORIENTATION_LANDSCAPE) { + binding.leftControlsPanel?.visibility = View.GONE + binding.rightControlsPanel?.visibility = View.GONE + } + // Set up pause button to show settings menu binding.pauseButton.setOnClickListener { gameHaptics.performHapticFeedback(it, HapticFeedbackConstants.VIRTUAL_KEY) @@ -1132,6 +1138,20 @@ class MainActivity : AppCompatActivity(), // Check for already connected gamepads checkGamepadConnections() + // Update visibility of control panels in landscape orientation based on title screen visibility + if (resources.configuration.orientation == android.content.res.Configuration.ORIENTATION_LANDSCAPE) { + if (titleScreen.visibility == View.VISIBLE) { + // Hide control panels when title screen is visible + binding.leftControlsPanel?.visibility = View.GONE + binding.rightControlsPanel?.visibility = View.GONE + } else if (gameView.visibility == View.VISIBLE && binding.gameOverContainer.visibility == View.GONE + && binding.pauseContainer.visibility == View.GONE) { + // Show control panels when game is active + binding.leftControlsPanel?.visibility = View.VISIBLE + binding.rightControlsPanel?.visibility = View.VISIBLE + } + } + // If we're on the title screen, don't auto-resume the game if (titleScreen.visibility == View.GONE && gameView.visibility == View.VISIBLE && binding.gameOverContainer.visibility == View.GONE && binding.pauseContainer.visibility == View.GONE) { resumeGame() diff --git a/app/src/main/java/com/pixelmintdrop/game/TitleScreen.kt b/app/src/main/java/com/pixelmintdrop/game/TitleScreen.kt index 9056190..42ba605 100644 --- a/app/src/main/java/com/pixelmintdrop/game/TitleScreen.kt +++ b/app/src/main/java/com/pixelmintdrop/game/TitleScreen.kt @@ -297,8 +297,6 @@ class TitleScreen @JvmOverloads constructor( } override fun onTouchEvent(event: MotionEvent): Boolean { - val isLandscape = resources.configuration.orientation == android.content.res.Configuration.ORIENTATION_LANDSCAPE - when (event.action) { MotionEvent.ACTION_DOWN -> { startX = event.x @@ -308,22 +306,18 @@ class TitleScreen @JvmOverloads constructor( return true } MotionEvent.ACTION_MOVE -> { - // Skip tetromino movement in landscape mode - if (!isLandscape) { - val deltaX = event.x - lastTouchX - val deltaY = event.y - lastTouchY - - // Update tetromino positions - for (tetromino in tetrominos) { - tetromino.x += deltaX * 0.5f - tetromino.y += deltaY * 0.5f - } - - invalidate() + val deltaX = event.x - lastTouchX + val deltaY = event.y - lastTouchY + + // Update tetromino positions + for (tetromino in tetrominos) { + tetromino.x += deltaX * 0.5f + tetromino.y += deltaY * 0.5f } lastTouchX = event.x lastTouchY = event.y + invalidate() return true } MotionEvent.ACTION_UP -> {