DEADSOFTWARE

Game action modules generation
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / actions / useblock / UseFurnaceAction.kt
index 88a6a7fb107c01ffa6021ce51ccb243f24c90885..1426263cbd66f8ecf766b5108a1c3ebc9fde48dc 100644 (file)
@@ -2,18 +2,19 @@ package ru.deadsoftware.cavedroid.game.actions.useblock
 
 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 javax.inject.Inject
 
 @GameScope
+@UseBlockAction(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)
     }