added missing code pieces

This commit is contained in:
minjaesong
2019-10-24 20:56:56 +09:00
parent 240efc5537
commit 5a0bf98737
2 changed files with 30 additions and 14 deletions

View File

@@ -2,6 +2,7 @@ package net.torvald.terrarum.tests
import com.badlogic.gdx.ApplicationAdapter
import com.badlogic.gdx.Gdx
import com.badlogic.gdx.Input
import com.badlogic.gdx.backends.lwjgl.LwjglApplication
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration
import com.badlogic.gdx.graphics.Camera
@@ -13,10 +14,7 @@ import com.badlogic.gdx.graphics.glutils.ShaderProgram
import com.badlogic.gdx.graphics.glutils.ShapeRenderer
import com.jme3.math.FastMath
import net.torvald.terrarum.*
import net.torvald.terrarum.ui.UICanvas
import net.torvald.terrarum.ui.UIItem
import net.torvald.terrarum.ui.UIItemTextButton
import net.torvald.terrarum.ui.UIItemToggleButton
import net.torvald.terrarum.ui.*
import kotlin.math.roundToInt
/**
@@ -53,7 +51,12 @@ class UIElemTest : ApplicationAdapter() {
}
class DummyTogglePane : UICanvas() {
private val button1 = UIItemToggleButton(this, 10, 10)
private val button1 = UIItemToggleButton(this, 0, 0)
private val key1 = UIItemConfigKeycap(this, 0, 20, 4, Input.Keys.A)
private val key2 = UIItemConfigKeycap(this, 36, 20, 4, Input.Keys.S)
private val key3 = UIItemConfigKeycap(this, 36*2, 20, 4, Input.Keys.D)
private val key4 = UIItemConfigKeycap(this, 36*3, 20, 4, Input.Keys.F)
override var width = 100
override var height = 25
@@ -62,21 +65,29 @@ class DummyTogglePane : UICanvas() {
private var timer = 0f
init {
uiItems.add(button1)
uiItems.add(key1)
uiItems.add(key2)
uiItems.add(key3)
uiItems.add(key4)
}
override fun updateUI(delta: Float) {
timer += delta
if (timer >= 1.5f) {
timer -= 1.5f
if (timer >= 1f) {
timer -= 1f
button1.toggle()
}
button1.update(delta)
uiItems.forEach { it.update(delta) }
}
override fun renderUI(batch: SpriteBatch, camera: Camera) {
batch.inUse {
batch.color = Color(0x404040ff)
button1.render(batch, camera)
uiItems.forEach { it.render(batch, camera) }
}
}

View File

@@ -5,6 +5,7 @@ import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.terrarum.AppLoader
import net.torvald.terrarum.CommonResourcePool
import net.torvald.terrarum.imagefont.TinyAlphNum
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
/**
@@ -18,14 +19,14 @@ class UIItemConfigKeycap(
private val keySize: Int,
private val keycode: Int, // also used to draw key label
private var keyItem: Int // internal index for the key's behaviour, also used to choose appropriate icon
private var keyItem: Int? = null // internal index for the key's behaviour, also used to choose appropriate icon
) : UIItem(parent) {
init {
if (keySize < 3) throw IllegalArgumentException("Key size must be greater than 2 (got $keySize)")
CommonResourcePool.addToLoadingList("ui_item_keymap_keycap") {
TextureRegionPack("./assets/graphics/gui/ui_config_keymap_keycap.tga", 4, 32)
TextureRegionPack("./assets/graphics/gui/ui_config_keymap_keycap.tga", 8, 32)
}
CommonResourcePool.loadAll()
}
@@ -51,13 +52,17 @@ class UIItemConfigKeycap(
batch.draw(capTex.get(2, 0), (posX + (keySize - 1) * capTex.tileW).toFloat(), posY.toFloat())
// draw label
AppLoader.fontSmallNumbers.draw(batch, KeyDict.keycodeToLabel[keycode]!!, posX + 2f, posY + 2f)
TinyAlphNum.draw(batch, KeyDict.keycodeToLabel[keycode]!!, posX + 2f, posY + 2f)
// draw icon
super.render(batch, camera)
}
override fun dispose() {
}
}
@@ -201,7 +206,7 @@ object KeyDict {
init {
keyDict.forEach {
keycodeToLabel[it[1]] = it[2]
keycodeToLabel[it[1] as Int] = it[2] as String
}
}