[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / model / item / InventoryItem.kt
diff --git a/core/src/ru/deadsoftware/cavedroid/game/model/item/InventoryItem.kt b/core/src/ru/deadsoftware/cavedroid/game/model/item/InventoryItem.kt
index 765224334d1d29b8441e0f59d1a9b0bd07df503e..f847f7d0e3dd4d1f19ed91ee37266d3355a218c0 100644 (file)
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.glutils.ShapeRenderer
import ru.deadsoftware.cavedroid.game.GameItemsHolder
+import ru.deadsoftware.cavedroid.game.mobs.player.Inventory
import ru.deadsoftware.cavedroid.misc.Assets
import ru.deadsoftware.cavedroid.misc.utils.drawSprite
import ru.deadsoftware.cavedroid.misc.utils.drawString
import ru.deadsoftware.cavedroid.misc.utils.px
import java.io.Serializable
+import kotlin.contracts.ExperimentalContracts
+import kotlin.contracts.contract
class InventoryItem @JvmOverloads constructor(
val itemKey: String,
}
val sprite = item.sprite
- spriteBatch.drawSprite(sprite, x, y)
+ val placeableMarginTop = (item as? Item.Placeable)?.block?.params?.spriteMargins?.top ?: 0
+ val placeableMarginLeft = (item as? Item.Placeable)?.block?.params?.spriteMargins?.left ?: 0
+ spriteBatch.drawSprite(sprite, x + placeableMarginLeft, y + placeableMarginTop)
if (amount < 2) {
return
}
}
+ companion object {
+
+ @OptIn(ExperimentalContracts::class)
+ fun InventoryItem?.isNoneOrNull(): Boolean {
+ contract { returns(false) implies(this@isNoneOrNull != null) }
+ return this?.item == null || this.item.isNone()
+ }
+ }
}