X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2Factions%2Fupdateblock%2FUpdateSnowedGrassAction.kt;h=2cf5a57b5918e856e0f0042bde266d15623155fe;hb=456e76ce31c05500ab7d9e78e2b02019143929a4;hp=8b7f0e34ecc9be0e650590edb9a152115d45e670;hpb=f34df6e5eb1052467333f1461c67e75b21eb0d95;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/game/actions/updateblock/UpdateSnowedGrassAction.kt b/core/src/ru/deadsoftware/cavedroid/game/actions/updateblock/UpdateSnowedGrassAction.kt index 8b7f0e3..2cf5a57 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/actions/updateblock/UpdateSnowedGrassAction.kt +++ b/core/src/ru/deadsoftware/cavedroid/game/actions/updateblock/UpdateSnowedGrassAction.kt @@ -3,9 +3,11 @@ package ru.deadsoftware.cavedroid.game.actions.updateblock import ru.deadsoftware.cavedroid.game.GameItemsHolder import ru.deadsoftware.cavedroid.game.GameScope import ru.deadsoftware.cavedroid.game.world.GameWorld +import ru.deadsoftware.cavedroid.misc.annotations.multibinding.BindUpdateBlockAction import javax.inject.Inject @GameScope +@BindUpdateBlockAction(stringKey = UpdateSnowedGrassAction.BLOCK_KEY) class UpdateSnowedGrassAction @Inject constructor( private val gameWorld: GameWorld, private val mGameItemsHolder: GameItemsHolder, @@ -13,8 +15,11 @@ class UpdateSnowedGrassAction @Inject constructor( override fun update(x: Int, y: Int) { val blockOnTop = gameWorld.getForeMap(x, y - 1) - if (blockOnTop.collision || blockOnTop.isFluid()) { - gameWorld.setForeMap(x, y, mGameItemsHolder.getBlock("dirt")) + val makesDirt = blockOnTop.params.hasCollision || blockOnTop.isFluid() + + when { + makesDirt -> gameWorld.setForeMap(x, y, mGameItemsHolder.getBlock("dirt")) + blockOnTop.params.key != "snow" -> gameWorld.setForeMap(x, y, mGameItemsHolder.getBlock("grass")) } }