[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 6cb2a9d85bf5232fb8e7b37750c336f7e0aa0f38..aa646cbe8fb88437cae365ea8c4c724fd335319d 100644 (file)
item = gameItemsHolder.getItem(itemKey)
}
+ @JvmOverloads
+ fun add(count: Int = 1) {
+ amount += count
+ }
+
+ @JvmOverloads
+ fun subtract(count: Int = 1) {
+ add(-count)
+ }
+
+ @JvmOverloads
+ fun canBeAdded(count: Int = 1): Boolean {
+ return !item.isTool() && amount + count <= item.params.maxStack
+ }
+
private fun drawAmountText(spriteBatch: SpriteBatch, text: String, x: Float, y: Float) {
spriteBatch.drawString(text, x + 1, y + 1, Color.BLACK)
spriteBatch.drawString(text, x, y, Color.WHITE)
}
val sprite = item.sprite
- sprite.setOriginCenter()
- sprite.setPosition(x, y)
- sprite.setScale(1.25f)
- sprite.draw(spriteBatch)
- sprite.setScale(1f)
+ val amountString = amount.toString()
+ spriteBatch.drawSprite(sprite, x - 10f, y - 10f, rotation = 0f, width = 20f, height = 20f)
+ drawAmountText(
+ spriteBatch = spriteBatch,
+ text = amountString,
+ x = x + 10f - Assets.getStringWidth(amountString) + 1f,
+ y = y + 10f - Assets.getStringHeight(amountString) + 1f
+ )
}
fun draw(spriteBatch: SpriteBatch, shapeRenderer: ShapeRenderer, x: Float, y: Float) {