DEADSOFTWARE

Add item in player hand
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / objects / Item.kt
index 59d231d5b6205e3c1ad7a35280121ea4848f819b..9eea9767e3967ed2e9783e65d20c84207bcecd24 100644 (file)
@@ -1,11 +1,15 @@
 package ru.deadsoftware.cavedroid.game.objects
 
 import com.badlogic.gdx.graphics.g2d.Sprite
+import ru.deadsoftware.cavedroid.game.GameItems
+import ru.deadsoftware.cavedroid.misc.utils.SpriteOrigin
 
 data class Item(
+        val id: Int,
         val name: String,
         val type: String,
-        val sprite: Sprite?
+        val sprite: Sprite?,
+        val defaultOrigin: SpriteOrigin,
 ) {
 
     init {
@@ -16,7 +20,19 @@ data class Item(
 
     fun isBlock() = type == "block"
 
+    fun isTool() = type == "tool"
+
+    /**
+     * Returns block associated with this item. Null if this is not a block
+     */
+    fun toBlock(): Block? {
+        if (!isBlock()) {
+            return null
+        }
+
+        return GameItems.getBlock(GameItems.getBlockIdByItemId(id))
+    }
+
     @Deprecated("Was renamed to Sprite to comply with variable type.", ReplaceWith("requireSprite()"))
     fun getTexture() = sprite
-
 }
\ No newline at end of file