mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-11 02:54:04 +09:00
more elegant UILoadSavegame wip
This commit is contained in:
Binary file not shown.
283
assets/keylayout/ta_in_tamil99.ime
Normal file
283
assets/keylayout/ta_in_tamil99.ime
Normal file
@@ -0,0 +1,283 @@
|
|||||||
|
let states = {"keylayouts":[[""],[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
["0",")","\u0966",")"],
|
||||||
|
["1","\u090D","\u0967","!"],
|
||||||
|
["2","\u0945","\u0968","@"],
|
||||||
|
["3","\u094D\u0930","\u0969","#"],
|
||||||
|
["4","\u0930\u094D","\u096A","$"],
|
||||||
|
["5","\u091C\u094D\u091E","\u096B","%"],
|
||||||
|
["6","\u0924\u094D\u0930","\u096C","^"],
|
||||||
|
["7","\u0915\u094D\u0937","\u096D","&"],
|
||||||
|
["8","\u0936\u094D\u0930","\u096E","*"],
|
||||||
|
["9","(","\u096F","("],
|
||||||
|
["*"],
|
||||||
|
["#"],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
["\u094B","\u0913"],
|
||||||
|
["\u0935","\u0934"],
|
||||||
|
["\u092E","\u0923","\u0954","\u0923"],
|
||||||
|
["\u094D","\u0905"],
|
||||||
|
["\u093E","\u0906"],
|
||||||
|
["\u093F","\u0907","\u0962","\u090C"],
|
||||||
|
["\u0941","\u0909"],
|
||||||
|
["\u092A","\u092B","\u092A","\u095E"],
|
||||||
|
["\u0917","\u0918","\u095A","\u0918"],
|
||||||
|
["\u0930","\u0931"],
|
||||||
|
["\u0915","\u0916","\u0958","\u0959"],
|
||||||
|
["\u0924","\u0925"],
|
||||||
|
["\u0938","\u0936"],
|
||||||
|
["\u0932","\u0933"],
|
||||||
|
["\u0926","\u0927"],
|
||||||
|
["\u091C","\u091D","\u095B","\u091D"],
|
||||||
|
["\u094C","\u0914"],
|
||||||
|
["\u0940","\u0908","\u0963","\u0961"],
|
||||||
|
["\u094B","\u090F"],
|
||||||
|
["\u0942","\u090A"],
|
||||||
|
["\u0939","\u0919"],
|
||||||
|
["\u0928","\u0929"],
|
||||||
|
["\u0948","\u0910"],
|
||||||
|
["\u0902","\u0901","\u0902","\u0950"],
|
||||||
|
["\u092C","\u092D"],
|
||||||
|
["\u0946","\u090E","\u0953","\u090E"],
|
||||||
|
[",","\u0937","\u0970","\u0970"],
|
||||||
|
[".","\u0964","\u0965","\u093D"],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[" "],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
["\n"],
|
||||||
|
["\x08"],
|
||||||
|
["\u094A","\u0912"],
|
||||||
|
["-","\u0903"],
|
||||||
|
["\u0943","\u090B","\u0944","\u0960"],
|
||||||
|
["\u0921","\u0922","\u095C","\u095D"],
|
||||||
|
["\u093C","\u091E"],
|
||||||
|
["\u0949","\u0911"],
|
||||||
|
["\u091A","\u091B","\u0952","\u091B"],
|
||||||
|
["\u091F","\u0920","\u0951","\u0920"],
|
||||||
|
["\u092F","\u095F"],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
["0"],
|
||||||
|
["1"],
|
||||||
|
["2"],
|
||||||
|
["3"],
|
||||||
|
["4"],
|
||||||
|
["5"],
|
||||||
|
["6"],
|
||||||
|
["7"],
|
||||||
|
["8"],
|
||||||
|
["9"],
|
||||||
|
["/"],
|
||||||
|
["*"],
|
||||||
|
["-"],
|
||||||
|
["+"],
|
||||||
|
["."],
|
||||||
|
["."],
|
||||||
|
["\n"],
|
||||||
|
["="],
|
||||||
|
["("],
|
||||||
|
[")"],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined],
|
||||||
|
[undefined]
|
||||||
|
],
|
||||||
|
"code":""} // practically unused as long as there are no diacritics on the keyboard
|
||||||
|
let reset = () => {
|
||||||
|
states.code = 0
|
||||||
|
}
|
||||||
|
let inRange = (s,a,b) => (a <= s && s <= b)
|
||||||
|
return Object.freeze({"n":"इनस्क्रिप्ट","v":"none","c":"CuriousTo\uA75Bvald","m":"rewrite",
|
||||||
|
"t":states.keylayouts.slice(0,10).concat([["3","\uDBBF\uDE01\u094D\u0930","\u0969","#"], ["4","\u0930\u094D\uDBBF\uDE01","\u096A","$"]], states.keylayouts.slice(12)),
|
||||||
|
"l":"hiIN",
|
||||||
|
// return: [delete count, composed output]
|
||||||
|
"accept":(headkey,shiftin,altgrin)=>{
|
||||||
|
let layer = 1*shiftin + 2*altgrin
|
||||||
|
|
||||||
|
let s = (states.keylayouts[headkey][layer] || states.keylayouts[headkey][1*shiftin]) || states.keylayouts[headkey][0]
|
||||||
|
|
||||||
|
return ['0', s]
|
||||||
|
},
|
||||||
|
"backspace":()=>{
|
||||||
|
reset()
|
||||||
|
return ''
|
||||||
|
},
|
||||||
|
"end":()=>{
|
||||||
|
reset()
|
||||||
|
return ''
|
||||||
|
},
|
||||||
|
"reset":()=>{ reset() },
|
||||||
|
"composing":()=>(states.code!='')
|
||||||
|
})
|
||||||
29
src/net/torvald/terrarum/modulebasegame/ui/UILoadAutosave.kt
Normal file
29
src/net/torvald/terrarum/modulebasegame/ui/UILoadAutosave.kt
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
package net.torvald.terrarum.modulebasegame.ui
|
||||||
|
|
||||||
|
import com.badlogic.gdx.graphics.Camera
|
||||||
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||||
|
import net.torvald.terrarum.App
|
||||||
|
import net.torvald.terrarum.ui.Toolkit
|
||||||
|
import net.torvald.terrarum.ui.UICanvas
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by minjaesong on 2023-07-05.
|
||||||
|
*/
|
||||||
|
class UILoadAutosave(val full: UILoadSavegame) : UICanvas() {
|
||||||
|
|
||||||
|
override var width: Int = Toolkit.drawWidth
|
||||||
|
override var height: Int = App.scr.height
|
||||||
|
|
||||||
|
override fun updateUI(delta: Float) {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun renderUI(batch: SpriteBatch, camera: Camera) {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun dispose() {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
29
src/net/torvald/terrarum/modulebasegame/ui/UILoadList.kt
Normal file
29
src/net/torvald/terrarum/modulebasegame/ui/UILoadList.kt
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
package net.torvald.terrarum.modulebasegame.ui
|
||||||
|
|
||||||
|
import com.badlogic.gdx.graphics.Camera
|
||||||
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||||
|
import net.torvald.terrarum.App
|
||||||
|
import net.torvald.terrarum.ui.Toolkit
|
||||||
|
import net.torvald.terrarum.ui.UICanvas
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by minjaesong on 2023-07-05.
|
||||||
|
*/
|
||||||
|
class UILoadList(val full: UILoadSavegame) : UICanvas() {
|
||||||
|
|
||||||
|
override var width: Int = Toolkit.drawWidth
|
||||||
|
override var height: Int = App.scr.height
|
||||||
|
|
||||||
|
override fun updateUI(delta: Float) {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun renderUI(batch: SpriteBatch, camera: Camera) {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun dispose() {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
29
src/net/torvald/terrarum/modulebasegame/ui/UILoadManage.kt
Normal file
29
src/net/torvald/terrarum/modulebasegame/ui/UILoadManage.kt
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
package net.torvald.terrarum.modulebasegame.ui
|
||||||
|
|
||||||
|
import com.badlogic.gdx.graphics.Camera
|
||||||
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||||
|
import net.torvald.terrarum.App
|
||||||
|
import net.torvald.terrarum.ui.Toolkit
|
||||||
|
import net.torvald.terrarum.ui.UICanvas
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by minjaesong on 2023-07-05.
|
||||||
|
*/
|
||||||
|
class UILoadManage(val full: UILoadSavegame) : UICanvas() {
|
||||||
|
|
||||||
|
override var width: Int = Toolkit.drawWidth
|
||||||
|
override var height: Int = App.scr.height
|
||||||
|
|
||||||
|
override fun updateUI(delta: Float) {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun renderUI(batch: SpriteBatch, camera: Camera) {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun dispose() {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -16,6 +16,8 @@ import net.torvald.terrarum.langpack.Lang
|
|||||||
import net.torvald.terrarum.savegame.ByteArray64InputStream
|
import net.torvald.terrarum.savegame.ByteArray64InputStream
|
||||||
import net.torvald.terrarum.savegame.EntryFile
|
import net.torvald.terrarum.savegame.EntryFile
|
||||||
import net.torvald.terrarum.modulebasegame.serialise.LoadSavegame
|
import net.torvald.terrarum.modulebasegame.serialise.LoadSavegame
|
||||||
|
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.INVENTORY_CELLS_OFFSET_Y
|
||||||
|
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.internalWidth
|
||||||
import net.torvald.terrarum.savegame.VDFileID.PLAYER_SCREENSHOT
|
import net.torvald.terrarum.savegame.VDFileID.PLAYER_SCREENSHOT
|
||||||
import net.torvald.terrarum.ui.*
|
import net.torvald.terrarum.ui.*
|
||||||
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
||||||
@@ -166,6 +168,29 @@ class UILoadSavegame(val remoCon: UIRemoCon) : Advanceable() {
|
|||||||
private val altSelQdrawW = altSelDrawW / 4
|
private val altSelQdrawW = altSelDrawW / 4
|
||||||
private val altSelQQQdrawW = altSelDrawW * 3 / 4
|
private val altSelQQQdrawW = altSelDrawW * 3 / 4
|
||||||
|
|
||||||
|
private val transitionalListing = UILoadList(this)
|
||||||
|
private val transitionalAutosave = UILoadAutosave(this)
|
||||||
|
private val transitionalManage = UILoadManage(this)
|
||||||
|
private val transitionPanel = UIItemHorizontalFadeSlide(
|
||||||
|
this,
|
||||||
|
(width - internalWidth) / 2,
|
||||||
|
INVENTORY_CELLS_OFFSET_Y(),
|
||||||
|
width,
|
||||||
|
App.scr.height,
|
||||||
|
0f,
|
||||||
|
transitionalListing, transitionalManage
|
||||||
|
)
|
||||||
|
|
||||||
|
init {
|
||||||
|
listOf(transitionalAutosave, transitionalManage).forEach {
|
||||||
|
it.posX = (-width / 2f).roundToInt()
|
||||||
|
it.initialX = (-width / 2f).roundToInt()
|
||||||
|
it.posY = 0
|
||||||
|
it.initialY = 0
|
||||||
|
it.opacity = 0f
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun getDrawTextualInfoFun(disks: DiskPair): (UIItem, SpriteBatch) -> Unit {
|
private fun getDrawTextualInfoFun(disks: DiskPair): (UIItem, SpriteBatch) -> Unit {
|
||||||
val lastPlayedStamp = Instant.ofEpochSecond(disks.player.getLastModifiedTime())
|
val lastPlayedStamp = Instant.ofEpochSecond(disks.player.getLastModifiedTime())
|
||||||
.atZone(TimeZone.getDefault().toZoneId())
|
.atZone(TimeZone.getDefault().toZoneId())
|
||||||
|
|||||||
Reference in New Issue
Block a user