X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2Fworld%2FGameWorldBlocksLogicControllerTask.kt;h=e92b9e2ffb6f6278a01a2fe9d4d82c63454368a4;hb=0d6ab84418440a30f2de555cb30ce21af8dac12e;hp=20f992a59fb0b3d07a1b26d47ddd547acf5aec70;hpb=894d9f1babeff18c9cbb5f83206ff2c549de0bdb;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/game/world/GameWorldBlocksLogicControllerTask.kt b/core/src/ru/deadsoftware/cavedroid/game/world/GameWorldBlocksLogicControllerTask.kt index 20f992a..e92b9e2 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/world/GameWorldBlocksLogicControllerTask.kt +++ b/core/src/ru/deadsoftware/cavedroid/game/world/GameWorldBlocksLogicControllerTask.kt @@ -1,7 +1,5 @@ package ru.deadsoftware.cavedroid.game.world -import com.badlogic.gdx.Gdx -import com.badlogic.gdx.utils.TimeUtils import com.badlogic.gdx.utils.Timer.Task import ru.deadsoftware.cavedroid.game.GameScope import ru.deadsoftware.cavedroid.game.actions.getRequiresBlockAction @@ -27,10 +25,15 @@ class GameWorldBlocksLogicControllerTask @Inject constructor( } private fun updateBlock(x: Int, y: Int) { - val block = gameWorld.getForeMapBlock(x, y) - val blockKey = block.key + val block = gameWorld.getForeMap(x, y) + + if (block.isNone()) { + return + } + + val blockKey = block.params.key val action = updateBlockActions[blockKey] - ?: updateBlockActions.getRequiresBlockAction().takeIf { block.requiresBlock } + ?: updateBlockActions.getRequiresBlockAction().takeIf { block.params.run { requiresBlock || isFallable } } action?.update(x, y) }