[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / actions / useblock / UseFurnaceAction.kt
diff --git a/core/src/ru/deadsoftware/cavedroid/game/actions/useblock/UseFurnaceAction.kt b/core/src/ru/deadsoftware/cavedroid/game/actions/useblock/UseFurnaceAction.kt
index 88a6a7fb107c01ffa6021ce51ccb243f24c90885..0b8ba5344c7c660db0cddf99bf4db27734a3271a 100644 (file)
import ru.deadsoftware.cavedroid.game.GameScope
import ru.deadsoftware.cavedroid.game.model.block.Block
-import ru.deadsoftware.cavedroid.game.objects.furnace.FurnaceController
import ru.deadsoftware.cavedroid.game.ui.windows.GameWindowsManager
+import ru.deadsoftware.cavedroid.game.world.GameWorld
+import ru.deadsoftware.cavedroid.misc.annotations.multibinding.BindUseBlockAction
import javax.inject.Inject
@GameScope
+@BindUseBlockAction(stringKey = UseFurnaceAction.KEY)
class UseFurnaceAction @Inject constructor(
- private val furnaceController: FurnaceController,
+ private val gameWorld: GameWorld,
private val gameWindowsManager: GameWindowsManager,
) : IUseBlockAction {
override fun perform(block: Block, x: Int, y: Int) {
- val furnace = furnaceController.getFurnace(x, y, 0) ?: furnaceController.getFurnace(x, y, 1) ?: return
+ val furnace = gameWorld.getForegroundFurnace(x, y) ?: gameWorld.getBackgroundFurnace(x, y) ?: return
gameWindowsManager.openFurnace(furnace)
}