X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2Fmodel%2Fblock%2FBlock.kt;h=76c6ac580c0df1a6604c447e3f1c0e930496f456;hb=387ad284ceb79b07cba3726fa7350b7e83916815;hp=4a0c31a4a4fa7e7038284aa5b3b9776412c99c03;hpb=fd73b6dd24b9fe55c0bc8f52f8aa1104a5fe3cb0;p=cavedroid.git 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 4a0c31a..76c6ac5 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/model/block/Block.kt +++ b/core/src/ru/deadsoftware/cavedroid/game/model/block/Block.kt @@ -5,6 +5,7 @@ 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 ru.deadsoftware.cavedroid.misc.utils.colorFromHexString import kotlin.contracts.ExperimentalContracts import kotlin.contracts.contract @@ -16,8 +17,8 @@ sealed class Block { val width: Float get() = 16f - params.collisionMargins.left - params.collisionMargins.right val height: Float get() = 16f - params.collisionMargins.top - params.collisionMargins.bottom - private val spriteWidth: Float get() = 16f - params.spriteMargins.left - params.spriteMargins.right - private val spriteHeight: Float get() = 16f - params.spriteMargins.top - params.spriteMargins.bottom + val spriteWidth: Float get() = 16f - params.spriteMargins.left - params.spriteMargins.right + val spriteHeight: Float get() = 16f - params.spriteMargins.top - params.spriteMargins.bottom private var animation: Array? = null @@ -56,7 +57,10 @@ sealed class Block { val width = 16 - params.spriteMargins.left - params.spriteMargins.right val height = 16 - params.spriteMargins.top - params.spriteMargins.bottom Sprite(params.texture, params.spriteMargins.left, 16 * y + params.spriteMargins.top, width, height) - .apply { flip(false, true) } + .apply { + flip(false, true) + params.tint?.let { tint -> color = colorFromHexString(tint) } + } } } } @@ -66,7 +70,10 @@ sealed class Block { val width = 16 - params.spriteMargins.left - params.spriteMargins.right val height = 16 - params.spriteMargins.top - params.spriteMargins.bottom Sprite(tex, params.spriteMargins.left, params.spriteMargins.top, width, height) - .apply { flip(false, true) } + .apply { + flip(false, true) + params.tint?.let { tint -> color = colorFromHexString(tint) } + } } } @@ -129,6 +136,7 @@ sealed class Block { data class Slab( override val params: CommonBlockParams, val fullBlockKey: String, + val otherPartBlockKey: String, ): Block() sealed class Fluid: Block() {