DEADSOFTWARE

Add update blocks logic actions
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / actions / CommonBlockActionUtils.kt
similarity index 71%
rename from core/src/ru/deadsoftware/cavedroid/game/actions/PlaceBlockActionUtils.kt
rename to core/src/ru/deadsoftware/cavedroid/game/actions/CommonBlockActionUtils.kt
index 52b97d0eafbf50fc1496dcbe662a4a0611a50410..43094309395f70e094031f760a0957e458c4ccef 100644 (file)
@@ -1,6 +1,8 @@
 package ru.deadsoftware.cavedroid.game.actions
 
 import com.badlogic.gdx.Gdx
+import ru.deadsoftware.cavedroid.game.actions.updateblock.IUpdateBlockAction
+import ru.deadsoftware.cavedroid.game.actions.updateblock.UpdateRequiresBlockAction
 import ru.deadsoftware.cavedroid.game.actions.useitem.IUseItemAction
 import ru.deadsoftware.cavedroid.game.actions.useitem.PlaceBlockItemToBackgroundAction
 import ru.deadsoftware.cavedroid.game.actions.useitem.PlaceBlockItemToForegroundAction
@@ -17,3 +19,7 @@ fun Map<String, IUseItemAction>.placeToBackgroundAction(item: Item, x: Int, y: I
     get(PlaceBlockItemToBackgroundAction.ACTION_KEY)?.perform(item, x, y)
         ?: Gdx.app.error(TAG, "action place_background_block not found")
 }
+
+fun Map<String, IUpdateBlockAction>.getRequiresBlockAction(): IUpdateBlockAction {
+    return requireNotNull(get(UpdateRequiresBlockAction.ACTION_KEY)) { "action requires_block not found" }
+}