mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-07 12:21:52 +09:00
70 lines
1.7 KiB
Kotlin
70 lines
1.7 KiB
Kotlin
package net.torvald.terrarum.ui
|
|
|
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
|
import net.torvald.terrarum.Terrarum
|
|
import net.torvald.terrarum.gameactors.Second
|
|
|
|
/**
|
|
* Created by minjaesong on 16-01-23.
|
|
*/
|
|
class Notification : UICanvas() {
|
|
|
|
private val SHOWUP_MAX = 15000
|
|
|
|
override var width: Int = 500
|
|
|
|
internal var msgUI = MessageWindow(width, true)
|
|
|
|
override var height: Int = msgUI.height
|
|
private val visibleTime = Math.min(
|
|
Terrarum.getConfigInt("notificationshowuptime"),
|
|
SHOWUP_MAX
|
|
)
|
|
private var displayTimer = 0f
|
|
|
|
internal var message: Array<String> = Array(MessageWindow.MESSAGES_DISPLAY, { "" })
|
|
|
|
override var openCloseTime: Second = MessageWindow.OPEN_CLOSE_TIME
|
|
|
|
override fun update(delta: Float) {
|
|
if (handler.isOpened)
|
|
displayTimer += delta
|
|
|
|
if (displayTimer >= visibleTime) {
|
|
handler.setAsClose()
|
|
displayTimer = 0f
|
|
}
|
|
}
|
|
|
|
override fun render(batch: SpriteBatch) {
|
|
msgUI.render(batch)
|
|
}
|
|
|
|
override fun doOpening(delta: Float) {
|
|
UICanvas.doOpeningFade(handler, openCloseTime)
|
|
}
|
|
|
|
override fun doClosing(delta: Float) {
|
|
UICanvas.doClosingFade(handler, openCloseTime)
|
|
}
|
|
|
|
override fun endOpening(delta: Float) {
|
|
UICanvas.endOpeningFade(handler)
|
|
}
|
|
|
|
override fun endClosing(delta: Float) {
|
|
UICanvas.endClosingFade(handler)
|
|
}
|
|
|
|
fun sendNotification(message: Array<String>) {
|
|
this.message = message
|
|
msgUI.setMessage(this.message)
|
|
handler.openCloseCounter = 0f
|
|
handler.opacity = 0f
|
|
handler.setAsOpen()
|
|
}
|
|
|
|
override fun dispose() {
|
|
}
|
|
}
|