X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2Factions%2Fplaceblock%2FPlaceBlockItemToForegroundAction.kt;h=ec249fbc027561047a08993854b8a4d397a2b7f7;hb=3a443514027417133d7a7e18766720dfea028a87;hp=d409a803d38efffd2b815cf0536ca41c2caffeb6;hpb=8b34480aaaf0112671d319accff573030079c7b6;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/game/actions/placeblock/PlaceBlockItemToForegroundAction.kt b/core/src/ru/deadsoftware/cavedroid/game/actions/placeblock/PlaceBlockItemToForegroundAction.kt index d409a80..ec249fb 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/actions/placeblock/PlaceBlockItemToForegroundAction.kt +++ b/core/src/ru/deadsoftware/cavedroid/game/actions/placeblock/PlaceBlockItemToForegroundAction.kt @@ -1,21 +1,29 @@ package ru.deadsoftware.cavedroid.game.actions.placeblock +import ru.deadsoftware.cavedroid.game.GameItemsHolder import ru.deadsoftware.cavedroid.game.GameScope +import ru.deadsoftware.cavedroid.game.mobs.MobsController import ru.deadsoftware.cavedroid.game.model.item.Item import ru.deadsoftware.cavedroid.game.world.GameWorld +import ru.deadsoftware.cavedroid.misc.annotations.multibinding.BindPlaceBlockAction import javax.inject.Inject @GameScope +@BindPlaceBlockAction(stringKey = PlaceBlockItemToForegroundAction.ACTION_KEY) class PlaceBlockItemToForegroundAction @Inject constructor( private val gameWorld: GameWorld, private val placeSlabAction: PlaceSlabAction, + private val gameItemsHolder: GameItemsHolder, + private val mobsController: MobsController, ) : IPlaceBlockAction { override fun place(placeable: Item.Placeable, x: Int, y: Int) { if (placeable.isSlab()) { placeSlabAction.place(placeable, x, y) } else { - gameWorld.placeToForeground(x, y, placeable.block) + if (gameWorld.placeToForeground(x, y, placeable.block)) { + mobsController.player.decreaseCurrentItemCount(gameItemsHolder) + } } }