mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-09 13:21:51 +09:00
90 lines
3.1 KiB
Kotlin
90 lines
3.1 KiB
Kotlin
package net.torvald.terrarum.modulebasegame.ui
|
|
|
|
import com.badlogic.gdx.graphics.Camera
|
|
import com.badlogic.gdx.graphics.Color
|
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
|
import net.torvald.terrarum.ModMgr
|
|
import net.torvald.terrarum.Terrarum
|
|
import net.torvald.terrarum.blendNormal
|
|
import net.torvald.terrarum.floor
|
|
import net.torvald.terrarum.ui.UICanvas
|
|
import net.torvald.terrarum.ui.UIItem
|
|
|
|
class UIItemModuleInfoCell(
|
|
parent: UICanvas,
|
|
var moduleName: String,
|
|
override val width: Int,
|
|
override var posX: Int,
|
|
override var posY: Int
|
|
) : UIItem(parent) {
|
|
|
|
// deal with the moving position
|
|
override var oldPosX = posX
|
|
override var oldPosY = posY
|
|
|
|
override val height: Int = Terrarum.fontGame.lineHeight.toInt() * 2
|
|
|
|
private val numberAreaWidth = Terrarum.fontSmallNumbers.W * 3 + 4
|
|
|
|
override fun render(batch: SpriteBatch, camera: Camera) {
|
|
blendNormal(batch)
|
|
|
|
if (ModMgr.moduleInfo.containsKey(moduleName)) {
|
|
val modInfo = ModMgr.moduleInfo[moduleName]!!
|
|
|
|
// print load order index
|
|
batch.color = Color(0xccccccff.toInt())
|
|
var strlen = Terrarum.fontSmallNumbers.getWidth(modInfo.order.toString())
|
|
Terrarum.fontSmallNumbers.draw(batch,
|
|
modInfo.order.toString(),
|
|
posX + (numberAreaWidth - strlen).div(2f).floor(),
|
|
posY + (height - Terrarum.fontSmallNumbers.H).div(2f).floor()
|
|
)
|
|
|
|
// print module name
|
|
batch.color = Color.WHITE
|
|
Terrarum.fontGame.draw(batch,
|
|
"${modInfo.properName} (${modInfo.version})",
|
|
posX + numberAreaWidth.toFloat(),
|
|
posY.toFloat()
|
|
)
|
|
|
|
// print author name
|
|
strlen = Terrarum.fontGame.getWidth(modInfo.author)
|
|
Terrarum.fontGame.draw(batch,
|
|
modInfo.author,
|
|
posX + width - strlen.toFloat(),
|
|
posY.toFloat()
|
|
)
|
|
|
|
// print description
|
|
Terrarum.fontGame.draw(batch,
|
|
modInfo.description,
|
|
posX + numberAreaWidth.toFloat(),
|
|
posY + Terrarum.fontGame.lineHeight
|
|
)
|
|
|
|
// print releasedate
|
|
strlen = Terrarum.fontGame.getWidth(modInfo.releaseDate)
|
|
Terrarum.fontGame.draw(batch,
|
|
modInfo.releaseDate,
|
|
posX + width - strlen.toFloat(),
|
|
posY + Terrarum.fontGame.lineHeight
|
|
)
|
|
|
|
}
|
|
else {
|
|
batch.color = Color(0xff8080_ff.toInt())
|
|
val str = "InternalError: no such module: '$moduleName'"
|
|
val strlen = Terrarum.fontSmallNumbers.getWidth(str)
|
|
Terrarum.fontSmallNumbers.draw(batch,
|
|
str,
|
|
posX + (width - numberAreaWidth - strlen).div(2f).floor() + numberAreaWidth,
|
|
posY + (height - Terrarum.fontSmallNumbers.H).div(2f).floor()
|
|
)
|
|
}
|
|
}
|
|
|
|
override fun dispose() {
|
|
}
|
|
} |