From 34fb046968b5d18c6121211b602aff3879c7b608 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Sat, 27 May 2023 23:31:21 +0900 Subject: [PATCH] minor changes to the graphics control panel --- assets/graphics/gui/hrule.tga | 3 +++ .../terrarum/modulebasegame/TitleScreen.kt | 1 - .../modulebasegame/gameactors/HumanoidNPC.kt | 4 +++- .../gameactors/PhysTestLuarLander.kt | 2 +- .../ui/UIGraphicsControlPanel.kt | 21 +++++++++++++++++-- work_files/graphics/gui/hrule.kra | 3 +++ 6 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 assets/graphics/gui/hrule.tga create mode 100644 work_files/graphics/gui/hrule.kra diff --git a/assets/graphics/gui/hrule.tga b/assets/graphics/gui/hrule.tga new file mode 100644 index 000000000..5b5c55435 --- /dev/null +++ b/assets/graphics/gui/hrule.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb23197198e813114115779dfb16f0442936dad40a80034fb6200e3486ec1e1e +size 34578 diff --git a/src/net/torvald/terrarum/modulebasegame/TitleScreen.kt b/src/net/torvald/terrarum/modulebasegame/TitleScreen.kt index d7d116ba3..5da2936ab 100644 --- a/src/net/torvald/terrarum/modulebasegame/TitleScreen.kt +++ b/src/net/torvald/terrarum/modulebasegame/TitleScreen.kt @@ -65,7 +65,6 @@ class TitleScreen(batch: FlippingSpriteBatch) : IngameInstance(batch) { private lateinit var demoWorld: GameWorld private lateinit var cameraNodes: FloatArray // camera Y-pos private val cameraAI = object : ActorAI { - private var firstTime = true private val lookaheadDist = 100.0 diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/HumanoidNPC.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/HumanoidNPC.kt index 91fb91e68..88e85bb34 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/HumanoidNPC.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/HumanoidNPC.kt @@ -16,7 +16,8 @@ import net.torvald.terrarum.itemproperties.Material */ open class HumanoidNPC : ActorHumanoid, AIControlled, CanBeAnItem { - override lateinit var ai: ActorAI + var aiName: String = "" + @Transient override lateinit var ai: ActorAI companion object { val DEFAULT_COLLISION_TYPE = COLLISION_DYNAMIC @@ -26,6 +27,7 @@ open class HumanoidNPC : ActorHumanoid, AIControlled, CanBeAnItem { constructor(ai: ActorAI, born: Long) : super(born) { this.ai = ai + this.aiName = ai::class.java.canonicalName } init { diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/PhysTestLuarLander.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/PhysTestLuarLander.kt index 65f2277fa..eae1c5eda 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/PhysTestLuarLander.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/PhysTestLuarLander.kt @@ -13,7 +13,7 @@ import net.torvald.terrarum.gameactors.* */ class PhysTestLuarLander : ActorWithBody(RenderOrder.MIDTOP, PhysProperties.PHYSICS_OBJECT), Controllable { - private val texture = Texture(ModMgr.getGdxFile("basegame", "sprites/phystest_lunarlander.tga")) + @Transient private val texture = Texture(ModMgr.getGdxFile("basegame", "sprites/phystest_lunarlander.tga")) override val hitbox: Hitbox diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIGraphicsControlPanel.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIGraphicsControlPanel.kt index c77eace3f..bb9f2e40c 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIGraphicsControlPanel.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIGraphicsControlPanel.kt @@ -1,14 +1,17 @@ package net.torvald.terrarum.modulebasegame.ui +import com.badlogic.gdx.Gdx import com.badlogic.gdx.Input import com.badlogic.gdx.graphics.Camera import com.badlogic.gdx.graphics.Color import com.badlogic.gdx.graphics.g2d.SpriteBatch import net.torvald.terrarum.App +import net.torvald.terrarum.CommonResourcePool import net.torvald.terrarum.ceilInt import net.torvald.terrarum.langpack.Lang import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.CELL_COL import net.torvald.terrarum.ui.* +import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack import net.torvald.unicode.TIMES /** @@ -43,6 +46,13 @@ class UIGraphicsControlPanel(remoCon: UIRemoCon?) : UICanvas() { private val optionsYpos = IntArray(options.size + 1) init { + CommonResourcePool.addToLoadingList("gui_hrule") { + TextureRegionPack(Gdx.files.internal("assets/graphics/gui/hrule.tga"), 216, 20) + } + CommonResourcePool.loadAll() + + + var akku = 0 options.forEachIndexed { index, row -> val option = row[2] @@ -60,10 +70,10 @@ class UIGraphicsControlPanel(remoCon: UIRemoCon?) : UICanvas() { } optionsYpos[optionsYpos.lastIndex] = akku } - - override var width = 420 + override var width = 560 override var height = optionsYpos.last() + private val hrule = CommonResourcePool.getAsTextureRegionPack("gui_hrule") private val spinnerWidth = 140 private val drawX = (Toolkit.drawWidth - width) / 2 @@ -171,6 +181,13 @@ class UIGraphicsControlPanel(remoCon: UIRemoCon?) : UICanvas() { drawX + width/2 - panelgap - labelWidth // right aligned at the middle of the panel, offsetted by panelgap App.fontGame.draw(batch, label, xpos.toFloat(), drawY + optionsYpos[index].toFloat()) + + // draw hrule + if (mode == "h1") { + val ruleWidth = ((width - 24 - labelWidth) / 2).toFloat() + batch.draw(hrule.get(0,0), xpos - 24f - ruleWidth, drawY + optionsYpos[index].toFloat(), ruleWidth, hrule.tileH.toFloat()) + batch.draw(hrule.get(0,1), xpos + 24f + labelWidth, drawY + optionsYpos[index].toFloat(), ruleWidth, hrule.tileH.toFloat()) + } } uiItems.forEach { it.render(batch, camera) } diff --git a/work_files/graphics/gui/hrule.kra b/work_files/graphics/gui/hrule.kra new file mode 100644 index 000000000..98b818d69 --- /dev/null +++ b/work_files/graphics/gui/hrule.kra @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cb52b14db3c2a7d6191a60f3496510436af2341e62f297d748ff569d83b8e94 +size 50911