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 fe2bc46bad46030cd43eb0a74f284fa4bd8f4629..80a96251442ebd6bafb924b22044d4b24df703eb 100644 (file)
package ru.deadsoftware.cavedroid.game.model.item
+import com.badlogic.gdx.Gdx
import com.badlogic.gdx.graphics.g2d.Sprite
import ru.deadsoftware.cavedroid.game.model.block.Block
import kotlin.contracts.ExperimentalContracts
return params.key == (other as Item).params.key
}
+ fun isNone(): Boolean {
+ contract { returns(true) implies (this@Item is None) }
+ return this is None
+ }
+
fun isPlaceable(): Boolean {
contract { returns(true) implies (this@Item is Placeable) }
return this is Placeable
sealed class Usable : Item() {
abstract val useActionKey: String
}
-
+
+ data class None(
+ override val params: CommonItemParams,
+ ): Item() {
+ override val sprite: Sprite
+ get() = throw IllegalAccessException("Trying to get sprite of None")
+ }
+
data class Placeable(
override val params: CommonItemParams,
val block: Block