X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fmisc%2Futils%2FRenderingUtils.kt;h=24813acc853fe54ef5421c046a55c48cfede0b39;hb=f34df6e5eb1052467333f1461c67e75b21eb0d95;hp=28c38276650f23485ade46a73bccbe37fa4ac86a;hpb=fd73b6dd24b9fe55c0bc8f52f8aa1104a5fe3cb0;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/misc/utils/RenderingUtils.kt b/core/src/ru/deadsoftware/cavedroid/misc/utils/RenderingUtils.kt index 28c3827..24813ac 100644 --- a/core/src/ru/deadsoftware/cavedroid/misc/utils/RenderingUtils.kt +++ b/core/src/ru/deadsoftware/cavedroid/misc/utils/RenderingUtils.kt @@ -1,6 +1,11 @@ package ru.deadsoftware.cavedroid.misc.utils +import com.badlogic.gdx.graphics.Color +import com.badlogic.gdx.graphics.g2d.GlyphLayout +import com.badlogic.gdx.graphics.g2d.SpriteBatch import com.badlogic.gdx.math.Rectangle +import ru.deadsoftware.cavedroid.misc.Assets +import java.awt.Color as JavaColor private fun Rectangle.shifted(shift: Float) = Rectangle(x + shift, y, width, height) @@ -27,16 +32,27 @@ fun Rectangle.cycledInsideWorld( fun forEachBlockInArea( area: Rectangle, - func: (x: Int, y: Int) -> Unit + func: (x: Int, y: Int) -> Unit, ) { val startMapX = area.x.bl - val endMapX = startMapX + area.width.bl + 1 + val endMapX = (area.x + area.width - 1f).bl val startMapY = area.y.bl - val endMapY = startMapY + area.height.bl + 1 + val endMapY = (area.y + area.height - 1f).bl for (x in startMapX..endMapX) { for (y in startMapY..endMapY) { func(x, y) } } -} \ No newline at end of file +} + +@JvmOverloads +fun SpriteBatch.drawString(str: String, x: Float, y: Float, color: Color = Color.WHITE): GlyphLayout { + Assets.minecraftFont.color = color + return Assets.minecraftFont.draw(this, str, x, y) +} + +fun colorFromHexString(hex: String): Color { + val rgba = (JavaColor.decode(hex).rgb shl 8) or (0xFF) + return Color(rgba) +}