From 2ecdc0657621e2f576905761ab132fe0084a5bd7 Mon Sep 17 00:00:00 2001 From: fredboy Date: Tue, 1 Jul 2025 20:14:39 +0700 Subject: [PATCH] Add ktlint plugin --- android/build.gradle.kts | 1 + buildSrc/src/main/kotlin/Dependencies.kt | 7 ++++--- .../PluginDependencySpecScopeExtentions.kt | 2 ++ buildSrc/src/main/kotlin/Versions.kt | 7 +++++++ core/common/build.gradle.kts | 1 + core/data/assets/build.gradle.kts | 1 + core/data/configuration/build.gradle.kts | 1 + core/data/items/build.gradle.kts | 1 + core/data/menu/build.gradle.kts | 1 + core/data/save/build.gradle.kts | 1 + core/domain/assets/build.gradle.kts | 1 + core/domain/configuration/build.gradle.kts | 1 + core/domain/items/build.gradle.kts | 1 + core/domain/menu/build.gradle.kts | 1 + core/domain/save/build.gradle.kts | 1 + core/domain/world/build.gradle.kts | 1 + core/entity/container/build.gradle.kts | 1 + core/entity/drop/build.gradle.kts | 1 + core/entity/mob/build.gradle.kts | 1 + .../fredboy/cavedroid/entity/mob/model/Player.kt | 4 ++-- core/game/controller/container/build.gradle.kts | 1 + .../controller/container/ContainerController.kt | 1 + core/game/controller/drop/build.gradle.kts | 1 + .../game/controller/drop/DropController.kt | 1 + core/game/controller/mob/build.gradle.kts | 1 + .../controller/mob/behavior/BaseMobBehavior.kt | 1 + core/game/window/build.gradle.kts | 1 + core/game/world/build.gradle.kts | 1 + core/ux/controls/build.gradle.kts | 1 + .../cavedroid/ux/controls/GameInputProcessor.kt | 3 ++- .../handler/mouse/UseItemMouseInputHandler.kt | 12 ++++++------ .../input/handler/touch/JoystickInputHandler.kt | 16 +++++----------- core/ux/physics/build.gradle.kts | 1 + core/ux/rendering/build.gradle.kts | 1 + core/zygote/build.gradle.kts | 1 + .../cavedroid/zygote/CaveDroidApplication.kt | 2 +- .../zygote/menu/input/MenuInputProcessor.kt | 14 +++++++------- .../zygote/menu/renderer/MenuRenderer.kt | 1 + desktop/build.gradle.kts | 3 ++- 39 files changed, 67 insertions(+), 32 deletions(-) diff --git a/android/build.gradle.kts b/android/build.gradle.kts index ebf9914..34932be 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -6,6 +6,7 @@ private val natives by configurations.creating plugins { id("com.android.application") id("kotlin-android") + ktlintGradle } private val keystorePropertiesFile = rootProject.file("keystore.properties") diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index 95d5439..609f671 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -44,9 +44,10 @@ object Dependencies { const val ksp = "ru.fredboy:automultibind-ksp:${Versions.automultibind}" } - const val androidGradlePlugin = "com.android.tools.build:gradle:${Versions.agp}" + object KtLint { + const val ktlintGradlePlugin = "org.jlleitschuh.gradle:ktlint:${Versions.ktlintGradle}" + } - // TODO: Remove after complete kotlin migration - const val jetbrainsAnnotations = "org.jetbrains:annotations:${Versions.jetbrainsAnnotations}" + const val androidGradlePlugin = "com.android.tools.build:gradle:${Versions.agp}" } \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/PluginDependencySpecScopeExtentions.kt b/buildSrc/src/main/kotlin/PluginDependencySpecScopeExtentions.kt index 19972d7..b2de321 100644 --- a/buildSrc/src/main/kotlin/PluginDependencySpecScopeExtentions.kt +++ b/buildSrc/src/main/kotlin/PluginDependencySpecScopeExtentions.kt @@ -7,3 +7,5 @@ val PluginDependenciesSpecScope.ksp get() = id("com.google.devtools.ksp") version Versions.ksp val PluginDependenciesSpecScope.kotlinxSerialization get() = id("org.jetbrains.kotlin.plugin.serialization") version Versions.kotlin +val PluginDependenciesSpecScope.ktlintGradle + get() = id("org.jlleitschuh.gradle.ktlint") version Versions.ktlintGradle diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 69bfd29..a5ae05b 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -60,4 +60,11 @@ object Versions { * [Source](https://github.com/fredboy/automultibind) */ const val automultibind = "1.0.0" + + /** + * Ktlint gradle plugin + * + * [Source](https://github.com/JLLeitschuh/ktlint-gradle) + */ + const val ktlintGradle = "12.3.0" } \ No newline at end of file diff --git a/core/common/build.gradle.kts b/core/common/build.gradle.kts index 114a577..6b424c7 100644 --- a/core/common/build.gradle.kts +++ b/core/common/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin ksp + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/data/assets/build.gradle.kts b/core/data/assets/build.gradle.kts index 8ab6f7c..892762b 100644 --- a/core/data/assets/build.gradle.kts +++ b/core/data/assets/build.gradle.kts @@ -2,6 +2,7 @@ plugins { kotlin ksp kotlinxSerialization + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/data/configuration/build.gradle.kts b/core/data/configuration/build.gradle.kts index 2092f36..49f56ad 100644 --- a/core/data/configuration/build.gradle.kts +++ b/core/data/configuration/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin ksp + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/data/items/build.gradle.kts b/core/data/items/build.gradle.kts index dfd5c0f..b1aeda5 100644 --- a/core/data/items/build.gradle.kts +++ b/core/data/items/build.gradle.kts @@ -2,6 +2,7 @@ plugins { kotlin ksp kotlinxSerialization + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/data/menu/build.gradle.kts b/core/data/menu/build.gradle.kts index 73fdbcc..5925c90 100644 --- a/core/data/menu/build.gradle.kts +++ b/core/data/menu/build.gradle.kts @@ -2,6 +2,7 @@ plugins { kotlin ksp kotlinxSerialization + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/data/save/build.gradle.kts b/core/data/save/build.gradle.kts index 1153b84..3fa936c 100644 --- a/core/data/save/build.gradle.kts +++ b/core/data/save/build.gradle.kts @@ -2,6 +2,7 @@ plugins { kotlin ksp kotlinxSerialization + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/domain/assets/build.gradle.kts b/core/domain/assets/build.gradle.kts index 9d3840d..df17486 100644 --- a/core/domain/assets/build.gradle.kts +++ b/core/domain/assets/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin ksp + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/domain/configuration/build.gradle.kts b/core/domain/configuration/build.gradle.kts index 86474f1..8cdad92 100644 --- a/core/domain/configuration/build.gradle.kts +++ b/core/domain/configuration/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin ksp + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/domain/items/build.gradle.kts b/core/domain/items/build.gradle.kts index 9d3840d..df17486 100644 --- a/core/domain/items/build.gradle.kts +++ b/core/domain/items/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin ksp + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/domain/menu/build.gradle.kts b/core/domain/menu/build.gradle.kts index 9d3840d..df17486 100644 --- a/core/domain/menu/build.gradle.kts +++ b/core/domain/menu/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin ksp + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/domain/save/build.gradle.kts b/core/domain/save/build.gradle.kts index 8ebc8cb..5860b88 100644 --- a/core/domain/save/build.gradle.kts +++ b/core/domain/save/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin ksp + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/domain/world/build.gradle.kts b/core/domain/world/build.gradle.kts index ef847ce..cba775c 100644 --- a/core/domain/world/build.gradle.kts +++ b/core/domain/world/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin ksp + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/entity/container/build.gradle.kts b/core/entity/container/build.gradle.kts index 1cc022f..ac98934 100644 --- a/core/entity/container/build.gradle.kts +++ b/core/entity/container/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin ksp + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/entity/drop/build.gradle.kts b/core/entity/drop/build.gradle.kts index 1cc022f..ac98934 100644 --- a/core/entity/drop/build.gradle.kts +++ b/core/entity/drop/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin ksp + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/entity/mob/build.gradle.kts b/core/entity/mob/build.gradle.kts index fee0959..80f1a59 100644 --- a/core/entity/mob/build.gradle.kts +++ b/core/entity/mob/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin ksp + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/entity/mob/src/main/kotlin/ru/fredboy/cavedroid/entity/mob/model/Player.kt b/core/entity/mob/src/main/kotlin/ru/fredboy/cavedroid/entity/mob/model/Player.kt index 8ac4643..eb37e56 100644 --- a/core/entity/mob/src/main/kotlin/ru/fredboy/cavedroid/entity/mob/model/Player.kt +++ b/core/entity/mob/src/main/kotlin/ru/fredboy/cavedroid/entity/mob/model/Player.kt @@ -97,8 +97,8 @@ class Player( leg.setOrigin(leg.width / 2f, 0f) head.setOrigin(head.width / 2, head.height) - var backHandAnim = 0f - var frontHandAnim = 0f + var backHandAnim: Float + var frontHandAnim: Float val rightHandAnim = getRightHandAnim(delta) diff --git a/core/game/controller/container/build.gradle.kts b/core/game/controller/container/build.gradle.kts index 43efa9b..9694ac1 100644 --- a/core/game/controller/container/build.gradle.kts +++ b/core/game/controller/container/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin ksp + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/game/controller/container/src/main/kotlin/ru/fredboy/cavedroid/game/controller/container/ContainerController.kt b/core/game/controller/container/src/main/kotlin/ru/fredboy/cavedroid/game/controller/container/ContainerController.kt index e05765d..17d6dd0 100644 --- a/core/game/controller/container/src/main/kotlin/ru/fredboy/cavedroid/game/controller/container/ContainerController.kt +++ b/core/game/controller/container/src/main/kotlin/ru/fredboy/cavedroid/game/controller/container/ContainerController.kt @@ -63,6 +63,7 @@ class ContainerController @Inject constructor( } } + @Suppress("unused") fun update(delta: Float) { val iterator = containerMap.iterator() while (iterator.hasNext()) { diff --git a/core/game/controller/drop/build.gradle.kts b/core/game/controller/drop/build.gradle.kts index d58c8e5..62337d8 100644 --- a/core/game/controller/drop/build.gradle.kts +++ b/core/game/controller/drop/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin ksp + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/game/controller/drop/src/main/kotlin/ru/fredboy/cavedroid/game/controller/drop/DropController.kt b/core/game/controller/drop/src/main/kotlin/ru/fredboy/cavedroid/game/controller/drop/DropController.kt index 2ca41cb..8275613 100644 --- a/core/game/controller/drop/src/main/kotlin/ru/fredboy/cavedroid/game/controller/drop/DropController.kt +++ b/core/game/controller/drop/src/main/kotlin/ru/fredboy/cavedroid/game/controller/drop/DropController.kt @@ -59,6 +59,7 @@ class DropController @Inject constructor( drops.forEach(action) } + @Suppress("unused") fun update(delta: Float) { val iterator = drops.iterator() diff --git a/core/game/controller/mob/build.gradle.kts b/core/game/controller/mob/build.gradle.kts index ac2a092..97a40f8 100644 --- a/core/game/controller/mob/build.gradle.kts +++ b/core/game/controller/mob/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin ksp + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/game/controller/mob/src/main/kotlin/ru/fredboy/cavedroid/game/controller/mob/behavior/BaseMobBehavior.kt b/core/game/controller/mob/src/main/kotlin/ru/fredboy/cavedroid/game/controller/mob/behavior/BaseMobBehavior.kt index de75a4e..1f1f15b 100644 --- a/core/game/controller/mob/src/main/kotlin/ru/fredboy/cavedroid/game/controller/mob/behavior/BaseMobBehavior.kt +++ b/core/game/controller/mob/src/main/kotlin/ru/fredboy/cavedroid/game/controller/mob/behavior/BaseMobBehavior.kt @@ -9,6 +9,7 @@ abstract class BaseMobBehavior( val mobType: KClass, ) : MobBehavior { + @Suppress("UNCHECKED_CAST") final override fun update(mob: Mob, worldAdapter: MobWorldAdapter, delta: Float) { if (mob::class == mobType) { with(mob as MOB) { diff --git a/core/game/window/build.gradle.kts b/core/game/window/build.gradle.kts index d84f920..aa0c659 100644 --- a/core/game/window/build.gradle.kts +++ b/core/game/window/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin ksp + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/game/world/build.gradle.kts b/core/game/world/build.gradle.kts index 317d76b..74cb1f2 100644 --- a/core/game/world/build.gradle.kts +++ b/core/game/world/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin ksp + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/ux/controls/build.gradle.kts b/core/ux/controls/build.gradle.kts index 68aca5e..7433a22 100644 --- a/core/ux/controls/build.gradle.kts +++ b/core/ux/controls/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin ksp + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/ux/controls/src/main/kotlin/ru/fredboy/cavedroid/ux/controls/GameInputProcessor.kt b/core/ux/controls/src/main/kotlin/ru/fredboy/cavedroid/ux/controls/GameInputProcessor.kt index d9eff90..028d630 100644 --- a/core/ux/controls/src/main/kotlin/ru/fredboy/cavedroid/ux/controls/GameInputProcessor.kt +++ b/core/ux/controls/src/main/kotlin/ru/fredboy/cavedroid/ux/controls/GameInputProcessor.kt @@ -177,6 +177,7 @@ class GameInputProcessor @Inject constructor( } + @Suppress("unused") fun update(delta: Float) { handleMousePosition() } @@ -264,7 +265,7 @@ class GameInputProcessor @Inject constructor( val action: MouseInputAction? = mouseInputActionMapper.map( mouseX = mouseX.toFloat(), mouseY = mouseY.toFloat(), - cameraViewport = requireNotNull(gameContextRepository.getCameraContext()?.viewport), + cameraViewport = requireNotNull(gameContextRepository.getCameraContext().viewport), button = button, touchUp = touchUp, pointer = pointer, diff --git a/core/ux/controls/src/main/kotlin/ru/fredboy/cavedroid/ux/controls/input/handler/mouse/UseItemMouseInputHandler.kt b/core/ux/controls/src/main/kotlin/ru/fredboy/cavedroid/ux/controls/input/handler/mouse/UseItemMouseInputHandler.kt index 355cf5c..35aef0b 100644 --- a/core/ux/controls/src/main/kotlin/ru/fredboy/cavedroid/ux/controls/input/handler/mouse/UseItemMouseInputHandler.kt +++ b/core/ux/controls/src/main/kotlin/ru/fredboy/cavedroid/ux/controls/input/handler/mouse/UseItemMouseInputHandler.kt @@ -47,7 +47,7 @@ class UseItemMouseInputHandler @Inject constructor( buttonHoldTask = null } - private fun handleHold(action: MouseInputAction) { + private fun handleHold() { cancelHold() val player = mobController.player @@ -64,11 +64,11 @@ class UseItemMouseInputHandler @Inject constructor( } } - private fun handleDown(action: MouseInputAction) { + private fun handleDown() { cancelHold() buttonHoldTask = object : Timer.Task() { override fun run() { - handleHold(action) + handleHold() } } @@ -89,7 +89,7 @@ class UseItemMouseInputHandler @Inject constructor( ) } - private fun handleUp(action: MouseInputAction) { + private fun handleUp() { val player = mobController.player val item = player.activeItem.item cancelHold() @@ -123,9 +123,9 @@ class UseItemMouseInputHandler @Inject constructor( } if (action.actionKey.touchUp && buttonHoldTask?.isScheduled == true) { - handleUp(action) + handleUp() } else if (!action.actionKey.touchUp) { - handleDown(action) + handleDown() } } diff --git a/core/ux/controls/src/main/kotlin/ru/fredboy/cavedroid/ux/controls/input/handler/touch/JoystickInputHandler.kt b/core/ux/controls/src/main/kotlin/ru/fredboy/cavedroid/ux/controls/input/handler/touch/JoystickInputHandler.kt index b39c725..fe22fdc 100644 --- a/core/ux/controls/src/main/kotlin/ru/fredboy/cavedroid/ux/controls/input/handler/touch/JoystickInputHandler.kt +++ b/core/ux/controls/src/main/kotlin/ru/fredboy/cavedroid/ux/controls/input/handler/touch/JoystickInputHandler.kt @@ -55,14 +55,8 @@ class JoystickInputHandler @Inject constructor( override fun checkConditions(action: MouseInputAction): Boolean { return gameWindowsManager.currentWindowType == GameWindowType.NONE && - applicationContextRepository.isTouch() && -// mobsController.player.controlMode == Player.ControlMode.WALK && - gameContextRepository.getJoystick() != null && - (action.actionKey is MouseInputActionKey.Touch) && - (action.actionKey.pointer == gameContextRepository.getJoystick().pointer || !active) && - ((action.actionKey is MouseInputActionKey.Dragged) || - (action.screenX < action.cameraViewport.width / 2 && !action.actionKey.touchUp || active)) && - !(action.actionKey is MouseInputActionKey.Screen && action.isInsideHotbar(textureRegions)) + applicationContextRepository.isTouch() && action.actionKey is MouseInputActionKey.Touch && (action.actionKey.pointer == gameContextRepository.getJoystick().pointer || !active) && ((action.actionKey is MouseInputActionKey.Dragged) || + (action.screenX < action.cameraViewport.width / 2 && !action.actionKey.touchUp || active)) && !(action.actionKey is MouseInputActionKey.Screen && action.isInsideHotbar(textureRegions)) } @@ -72,8 +66,8 @@ class JoystickInputHandler @Inject constructor( active = true } - private fun handleTouchUp(action: MouseInputAction) { - gameContextRepository.getJoystick()?.deactivate() + private fun handleTouchUp() { + gameContextRepository.getJoystick().deactivate() active = false } @@ -139,7 +133,7 @@ class JoystickInputHandler @Inject constructor( is MouseInputActionKey.Dragged -> handleDragged() else -> { if (action.actionKey.touchUp) { - handleTouchUp(action) + handleTouchUp() } else { handleTouchDown(action) } diff --git a/core/ux/physics/build.gradle.kts b/core/ux/physics/build.gradle.kts index a2da836..b07c659 100644 --- a/core/ux/physics/build.gradle.kts +++ b/core/ux/physics/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin ksp + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/ux/rendering/build.gradle.kts b/core/ux/rendering/build.gradle.kts index 870744f..d4c106e 100644 --- a/core/ux/rendering/build.gradle.kts +++ b/core/ux/rendering/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin ksp + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/zygote/build.gradle.kts b/core/zygote/build.gradle.kts index d315c7f..e478fe9 100644 --- a/core/zygote/build.gradle.kts +++ b/core/zygote/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin ksp + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility diff --git a/core/zygote/src/main/kotlin/ru/fredboy/cavedroid/zygote/CaveDroidApplication.kt b/core/zygote/src/main/kotlin/ru/fredboy/cavedroid/zygote/CaveDroidApplication.kt index 01f2b5b..0ba8bfb 100644 --- a/core/zygote/src/main/kotlin/ru/fredboy/cavedroid/zygote/CaveDroidApplication.kt +++ b/core/zygote/src/main/kotlin/ru/fredboy/cavedroid/zygote/CaveDroidApplication.kt @@ -75,7 +75,7 @@ class CaveDroidApplication( override fun quitGame() { (screen as? GameScreen)?.let { gameScreen -> - screen.dispose() + gameScreen.dispose() setScreen(applicationComponent.menuScreen) } ?: Gdx.app.error(TAG, "quitGame called when active screen is not Game") } diff --git a/core/zygote/src/main/kotlin/ru/fredboy/cavedroid/zygote/menu/input/MenuInputProcessor.kt b/core/zygote/src/main/kotlin/ru/fredboy/cavedroid/zygote/menu/input/MenuInputProcessor.kt index 2c80a40..b6b56f0 100644 --- a/core/zygote/src/main/kotlin/ru/fredboy/cavedroid/zygote/menu/input/MenuInputProcessor.kt +++ b/core/zygote/src/main/kotlin/ru/fredboy/cavedroid/zygote/menu/input/MenuInputProcessor.kt @@ -28,8 +28,8 @@ class MenuInputProcessor @Inject constructor( val touchX = applicationContextRepository.getWidth() / Gdx.graphics.width * screenX.toFloat() val touchY = applicationContextRepository.getHeight() / Gdx.graphics.height * screenY.toFloat() - menuButtonRepository.getCurrentMenuButtons()?.values?.forEachIndexed { index, button -> - if (!button.isEnabled) { + menuButtonRepository.getCurrentMenuButtons()?.values?.forEachIndexed { index, menuButton -> + if (!menuButton.isEnabled) { return@forEachIndexed } @@ -42,22 +42,22 @@ class MenuInputProcessor @Inject constructor( ) if (rect.contains(touchX, touchY)) { - when (button) { + when (menuButton) { is MenuButton.Simple -> { - val action = menuButtonActions[button.actionKey] ?: run { - Gdx.app.error(TAG, "Menu handler for action '${button.actionKey}' not found") + val action = menuButtonActions[menuButton.actionKey] ?: run { + Gdx.app.error(TAG, "Menu handler for action '${menuButton.actionKey}' not found") return@forEachIndexed } if (action.canPerform()) { action.perform() } else { - Gdx.app.debug(TAG, "Can't perform action ${button.actionKey}") + Gdx.app.debug(TAG, "Can't perform action ${menuButton.actionKey}") } } is MenuButton.BooleanOption -> { - button.optionKeys.forEach { optionKey -> + menuButton.optionKeys.forEach { optionKey -> menuButtonBooleanOption[optionKey]?.toggleOption() ?: run { Gdx.app.error(TAG, "Menu option handler for option '$optionKey' not found") } diff --git a/core/zygote/src/main/kotlin/ru/fredboy/cavedroid/zygote/menu/renderer/MenuRenderer.kt b/core/zygote/src/main/kotlin/ru/fredboy/cavedroid/zygote/menu/renderer/MenuRenderer.kt index 8401e30..5921de7 100644 --- a/core/zygote/src/main/kotlin/ru/fredboy/cavedroid/zygote/menu/renderer/MenuRenderer.kt +++ b/core/zygote/src/main/kotlin/ru/fredboy/cavedroid/zygote/menu/renderer/MenuRenderer.kt @@ -130,6 +130,7 @@ class MenuRenderer @Inject constructor( spriter.projectionMatrix = camera.combined } + @Suppress("unused") fun render(delta: Float) { spriter.begin() drawBackground() diff --git a/desktop/build.gradle.kts b/desktop/build.gradle.kts index 910d67e..6412b14 100644 --- a/desktop/build.gradle.kts +++ b/desktop/build.gradle.kts @@ -1,5 +1,6 @@ plugins { - id("kotlin") + kotlin + ktlintGradle } java.sourceCompatibility = ApplicationInfo.sourceCompatibility -- 2.29.2