[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / actions / placeblock / PlaceBlockItemToForegroundAction.kt
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 d409a803d38efffd2b815cf0536ca41c2caffeb6..d3ff9797f6a528485dcf18b59479917ad8fb4d20 100644 (file)
--- a/core/src/ru/deadsoftware/cavedroid/game/actions/placeblock/PlaceBlockItemToForegroundAction.kt
+++ b/core/src/ru/deadsoftware/cavedroid/game/actions/placeblock/PlaceBlockItemToForegroundAction.kt
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 javax.inject.Inject
@GameScope
+@PlaceBlockAction(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)
+ }
}
}