diff --git a/core/src/ru/deadsoftware/cavedroid/game/model/item/Item.kt b/core/src/ru/deadsoftware/cavedroid/game/model/item/Item.kt
index 7eeb9403a88a636f843998a18b98188bbedaf2c0..bf2a55cd6a9d164870c6d4ebb8339310a0bece86 100644 (file)
}
fun isUsable(): Boolean {
- contract { returns(true) implies (this@Item is Placeable) }
- return this is Placeable
+ contract { returns(true) implies (this@Item is Usable) }
+ return this is Usable
}
@JvmOverloads
fun toInventoryItem(amount: Int = 1): InventoryItem {
return InventoryItem(this, amount)
}
-
+
+ data class Normal(
+ override val params: CommonItemParams,
+ override val sprite: Sprite
+ ) : Item()
+
sealed class Tool : Item() {
abstract val mobDamageMultiplier: Float
abstract val blockDamageMultiplier: Float
abstract val level: Int
}
- sealed class Usable : Item() {
- abstract val useActionKey: String
- }
-
sealed class Placeable : Item() {
abstract val block: BlockModel
override val sprite: Sprite get() = block.sprite
get() = throw IllegalAccessException("Trying to get sprite of None")
}
+ data class Usable(
+ override val params: CommonItemParams,
+ override val sprite: Sprite,
+ val useActionKey: String
+ ) : Item()
+
data class Block(
override val params: CommonItemParams,
override val block: BlockModel
override val blockDamageMultiplier: Float,
override val level: Int,
) : Tool()
-
- data class Bucket(
- override val params: CommonItemParams,
- override val sprite: Sprite,
- override val useActionKey: String
- ) : Usable()
}
\ No newline at end of file