DEADSOFTWARE

Add slab full block reference in json
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / objects / Block.kt
index 0b93809af232d0dce08cdf90fad13cd7cf23f090..020caf5356c7b4d7dd142afbc7c045f3787e53e2 100644 (file)
@@ -6,6 +6,7 @@ import com.badlogic.gdx.graphics.Texture
 import com.badlogic.gdx.graphics.g2d.Sprite
 import com.badlogic.gdx.graphics.g2d.SpriteBatch
 import com.badlogic.gdx.math.Rectangle
+import ru.deadsoftware.cavedroid.game.GameItems
 
 private const val ANIMATION_FRAME_DURATION = 100L
 private const val DEPRECATION_MESSAGE =
@@ -31,9 +32,11 @@ private const val DEPRECATION_MESSAGE =
  * @param spriteTop     block's sprite y on texture
  * @param spriteRight   block's sprite right edge on texture
  * @param spriteBottom  block's sprite bottom on texture
+ * @param fullBlockKey for slabs. block for two slabs of one kind
  */
 data class Block(
         val id: Int,
+        val key: String,
         val left: Int,
         val top: Int,
         val right: Int,
@@ -52,7 +55,8 @@ data class Block(
         private val spriteLeft: Int,
         private val spriteTop: Int,
         private val spriteRight: Int,
-        private val spriteBottom: Int
+        private val spriteBottom: Int,
+        val fullBlockKey: String?,
 ) {
 
     val width = 16 - right - left
@@ -124,6 +128,8 @@ data class Block(
 
     fun toJump() = top < 8 && collision
 
+    fun getItem() = GameItems.getItem(GameItems.getBlockKey(id))
+
     @Deprecated(DEPRECATION_MESSAGE)
     fun hasCollision() = collision