From 11a30d3c2aeca79fd3e2e32e28d1b6984a39f0d5 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Tue, 27 Aug 2019 16:17:26 +0900 Subject: [PATCH] displays time on main window --- .../terrarum/tests/WorldgenNoiseSandbox.kt | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/net/torvald/terrarum/tests/WorldgenNoiseSandbox.kt b/src/net/torvald/terrarum/tests/WorldgenNoiseSandbox.kt index 975036beb..6e05559d4 100644 --- a/src/net/torvald/terrarum/tests/WorldgenNoiseSandbox.kt +++ b/src/net/torvald/terrarum/tests/WorldgenNoiseSandbox.kt @@ -9,6 +9,7 @@ import com.badlogic.gdx.graphics.Color import com.badlogic.gdx.graphics.OrthographicCamera import com.badlogic.gdx.graphics.Pixmap import com.badlogic.gdx.graphics.Texture +import com.badlogic.gdx.graphics.g2d.BitmapFont import com.badlogic.gdx.graphics.g2d.SpriteBatch import com.badlogic.gdx.graphics.glutils.ShaderProgram import com.sudoplay.joise.Joise @@ -33,6 +34,7 @@ class WorldgenNoiseSandbox : ApplicationAdapter() { private lateinit var batch: SpriteBatch private lateinit var camera: OrthographicCamera + private lateinit var font: BitmapFont private lateinit var testTex: Pixmap private lateinit var tempTex: Texture @@ -49,6 +51,8 @@ class WorldgenNoiseSandbox : ApplicationAdapter() { private var generationStartTime = 0L override fun create() { + font = BitmapFont() // use default because fuck it + batch = SpriteBatch() camera = OrthographicCamera(WIDTH.toFloat(), HEIGHT.toFloat()) camera.setToOrtho(false) // some elements are pre-flipped, while some are not. The statement itself is absolutely necessary to make edge of the screen as the origin @@ -63,6 +67,8 @@ class WorldgenNoiseSandbox : ApplicationAdapter() { println("Init done") } + private var generationTime = 0f + override fun render() { if (!generationDone) { joise = getNoiseGenerator(seed) @@ -93,7 +99,17 @@ class WorldgenNoiseSandbox : ApplicationAdapter() { if (ThreadParallel.allFinished() && generationTimeInMeasure) { generationTimeInMeasure = false val time = System.nanoTime() - generationStartTime - println("Generation time in sec: ${time / 1000000000f}") + generationTime = time / 1000000000f + } + + // draw timer + batch.inUse { + if (!generationTimeInMeasure) { + font.draw(batch, "Generation time: ${generationTime} seconds", 8f, HEIGHT - 8f) + } + else { + font.draw(batch, "Generating...", 8f, HEIGHT - 8f) + } } }