Files
Terrarum/src/net/torvald/terrarum/modulebasegame/imagefont/WatchDotAlph.kt
2018-06-21 17:33:22 +09:00

46 lines
1.2 KiB
Kotlin

package net.torvald.terrarum.modulebasegame.imagefont
import com.badlogic.gdx.graphics.g2d.Batch
import com.badlogic.gdx.graphics.g2d.BitmapFont
import com.badlogic.gdx.graphics.g2d.GlyphLayout
import net.torvald.terrarum.ModMgr
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
/**
* Created by minjaesong on 2017-06-21.
*/
object WatchDotAlph : BitmapFont() {
val charMapping = ('A'..'Z')
internal val W = 12
internal val H = 10
internal val fontSheet = TextureRegionPack(ModMgr.getGdxFile("basegame", "fonts/watch_dotalph.tga"), W, H)
init {
setOwnsTexture(true)
}
override fun draw(batch: Batch, str: CharSequence, x: Float, y: Float): GlyphLayout? {
str.forEachIndexed { index, c ->
batch.draw(
if (c != ' ' && c in charMapping)
fontSheet.get(1 + (c - 'A'), 0)
else
fontSheet.get(0, 0)
, x + W * index, y)
}
return null
}
override fun getLineHeight() = H.toFloat()
override fun getCapHeight() = getLineHeight()
override fun getXHeight() = getLineHeight()
override fun dispose() {
fontSheet.dispose()
}
}