mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-12 11:34:05 +09:00
reading savefiles won't freeze the ui (too much)
This commit is contained in:
58
src/net/torvald/terrarum/ui/UIAutosaveNotifier.kt
Normal file
58
src/net/torvald/terrarum/ui/UIAutosaveNotifier.kt
Normal file
@@ -0,0 +1,58 @@
|
||||
package net.torvald.terrarum.ui
|
||||
|
||||
import com.badlogic.gdx.graphics.Camera
|
||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||
import net.torvald.terrarum.App
|
||||
import net.torvald.terrarum.CommonResourcePool
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 2021-10-01.
|
||||
*/
|
||||
class UIAutosaveNotifier : UICanvas() {
|
||||
|
||||
override var width: Int
|
||||
get() = TODO("Not yet implemented")
|
||||
set(value) {}
|
||||
override var height: Int
|
||||
get() = TODO("Not yet implemented")
|
||||
set(value) {}
|
||||
override var openCloseTime = 0.2f
|
||||
|
||||
private val spinner = CommonResourcePool.getAsTextureRegionPack("inline_loading_spinner")
|
||||
private var spinnerTimer = 0f
|
||||
private var spinnerFrame = 0
|
||||
private val spinnerInterval = 1f / 60f
|
||||
|
||||
override fun updateUI(delta: Float) {
|
||||
spinnerTimer += delta
|
||||
if (spinnerTimer > spinnerInterval) {
|
||||
spinnerFrame = (spinnerFrame + 1) % 32
|
||||
spinnerTimer -= spinnerInterval
|
||||
}
|
||||
}
|
||||
|
||||
override fun renderUI(batch: SpriteBatch, camera: Camera) {
|
||||
val spin = spinner.get(spinnerFrame % 8, spinnerFrame / 8)
|
||||
|
||||
val inlineOffsetY = if (App.GAME_LOCALE.startsWith("th")) 0f
|
||||
else if (App.GAME_LOCALE.startsWith("ko")) 0f
|
||||
else 1f
|
||||
|
||||
batch.draw(spin, posX.toFloat(), posY.toFloat())
|
||||
}
|
||||
|
||||
override fun doOpening(delta: Float) {
|
||||
}
|
||||
|
||||
override fun doClosing(delta: Float) {
|
||||
}
|
||||
|
||||
override fun endOpening(delta: Float) {
|
||||
}
|
||||
|
||||
override fun endClosing(delta: Float) {
|
||||
}
|
||||
|
||||
override fun dispose() {
|
||||
}
|
||||
}
|
||||
@@ -118,7 +118,7 @@ void main() {
|
||||
|
||||
private val shader = App.loadShaderInline(SHADER_PROG_VERT, SHADER_PROG_FRAG)
|
||||
|
||||
private var uiToggleLocked = false
|
||||
var uiToggleLocked = false; private set
|
||||
|
||||
init {
|
||||
//UI.handler = this
|
||||
|
||||
Reference in New Issue
Block a user