1 package ru.fredboy.cavedroid.ux.physics.action.updateblock
3 import ru.fredboy.cavedroid.common.di.GameScope
4 import ru.fredboy.cavedroid.domain.items.usecase.GetBlockByKeyUseCase
5 import ru.fredboy.cavedroid.game.world.GameWorld
6 import ru.fredboy.cavedroid.ux.physics.action.annotation.BindUpdateBlockAction
7 import javax.inject.Inject
10 @BindUpdateBlockAction(stringKey = UpdateBedRightAction.BLOCK_KEY)
11 class UpdateBedRightAction @Inject constructor(
12 private val gameWorld: GameWorld,
13 private val getBlockByKeyUseCase: GetBlockByKeyUseCase,
14 ) : IUpdateBlockAction {
16 override fun update(x: Int, y: Int) {
17 val bedLeft = getBlockByKeyUseCase["bed_l"]
18 if (gameWorld.getForeMap(x - 1, y) != bedLeft) {
19 gameWorld.resetForeMap(x, y)
24 const val BLOCK_KEY = "bed_r"