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 62c6f493e0f8d66221bc54d1a297dc506a28f688..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()
): Block()
sealed class Fluid: Block() {
- abstract val statesCount: Int
+ abstract val state: Int
}
data class Water(
override val params: CommonBlockParams,
- override val statesCount: Int
+ override val state: Int,
) : Fluid()
data class Lava(
override val params: CommonBlockParams,
- override val statesCount: Int
+ override val state: Int,
) : Fluid()
/* Legacy accessors below */