diff --git a/core/src/ru/deadsoftware/cavedroid/game/model/block/Block.kt b/core/src/ru/deadsoftware/cavedroid/game/model/block/Block.kt
index 45363440e290fad732955cddb78424b7c2e6c01f..2411a6352d963823bb921f1a8a741172150fddfb 100644 (file)
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.math.Rectangle
import com.badlogic.gdx.utils.TimeUtils
+import ru.deadsoftware.cavedroid.game.model.item.Item
import kotlin.contracts.ExperimentalContracts
import kotlin.contracts.contract
}
val sprite: Sprite
- get() = requireNotNull(_sprite)
+ get() = requireNotNull(_sprite) { "null sprite for block '${params.key}'" }
private val currentAnimationFrame: Int
get() {
} ?: 0
}
+ override fun hashCode(): Int {
+ return params.key.hashCode()
+ }
+
+ override fun equals(other: Any?): Boolean {
+ return params.key == (other as Item).params.key
+ }
+
fun initialize() {
initAnimation()
initSprite()
val fullBlockKey: String,
): Block()
- sealed class Fluid: Block()
+ sealed class Fluid: Block() {
+ abstract val state: Int
+ }
data class Water(
override val params: CommonBlockParams,
+ override val state: Int,
) : Fluid()
data class Lava(
override val params: CommonBlockParams,
+ override val state: Int,
) : Fluid()
/* Legacy accessors below */