X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2Factions%2Fupdateblock%2FUpdateGravelAction.kt;h=3c5241857fb943c5d88ecd18bd68b423f45060dd;hb=1e285247085ba04351feb486a0be6aa577f43093;hp=53fcd62fa9112b21aefadf01e1eb9c14bf480103;hpb=894d9f1babeff18c9cbb5f83206ff2c549de0bdb;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/game/actions/updateblock/UpdateGravelAction.kt b/core/src/ru/deadsoftware/cavedroid/game/actions/updateblock/UpdateGravelAction.kt index 53fcd62..3c52418 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/actions/updateblock/UpdateGravelAction.kt +++ b/core/src/ru/deadsoftware/cavedroid/game/actions/updateblock/UpdateGravelAction.kt @@ -2,23 +2,25 @@ package ru.deadsoftware.cavedroid.game.actions.updateblock import ru.deadsoftware.cavedroid.game.GameScope import ru.deadsoftware.cavedroid.game.mobs.FallingGravel -import ru.deadsoftware.cavedroid.game.mobs.FallingSand import ru.deadsoftware.cavedroid.game.mobs.MobsController import ru.deadsoftware.cavedroid.game.world.GameWorld +import ru.deadsoftware.cavedroid.misc.annotations.multibinding.BindUpdateBlockAction import javax.inject.Inject @GameScope +@BindUpdateBlockAction(stringKey = UpdateGravelAction.BLOCK_KEY) class UpdateGravelAction @Inject constructor( private val gameWorld: GameWorld, private val mobsController: MobsController, ) : IUpdateBlockAction { override fun update(x: Int, y: Int) { - val shouldFall = gameWorld.getForeMapBlock(x, y + 1).collision.not() + val shouldFall = gameWorld.getForeMap(x, y + 1).params.hasCollision.not() if (shouldFall) { - gameWorld.setForeMap(x, y, 0) - mobsController.addMob(FallingGravel(x * 16f, y * 16f)) + gameWorld.resetForeMap(x, y) + FallingGravel(x * 16f, y * 16f) + .apply { attachToController(mobsController) } } }