X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2Fmodel%2Fitem%2FItem.kt;h=bf2a55cd6a9d164870c6d4ebb8339310a0bece86;hb=3d972278cf3a54b6a7b574690ca4b41577464dce;hp=1e6755ab7c367b8886301e3173c0664df038e3ec;hpb=387ad284ceb79b07cba3726fa7350b7e83916815;p=cavedroid.git 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 1e6755a..bf2a55c 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/model/item/Item.kt +++ b/core/src/ru/deadsoftware/cavedroid/game/model/item/Item.kt @@ -46,8 +46,8 @@ sealed class Item { } 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 @@ -66,10 +66,6 @@ sealed class Item { 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 @@ -82,6 +78,12 @@ sealed class Item { 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 @@ -134,11 +136,5 @@ sealed class Item { 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