diff --git a/assets/mods/basegame/locales/bgBG/game.json b/assets/mods/basegame/locales/bgBG/game.json index 6c5102d05..0f9d777ad 100644 --- a/assets/mods/basegame/locales/bgBG/game.json +++ b/assets/mods/basegame/locales/bgBG/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "Нов Свят", + "CONTEXT_WORLD_NEW": "Нов Свят", "MENU_LABEL_DELETE_WORLD": "Изтриване на Света", "CONTEXT_WORLD_COUNT": "Светове: ", "GAME_INVENTORY_INGREDIENTS": "Съставки", diff --git a/assets/mods/basegame/locales/csCZ/game.json b/assets/mods/basegame/locales/csCZ/game.json index 2bd0ab7ae..83d4c81f5 100644 --- a/assets/mods/basegame/locales/csCZ/game.json +++ b/assets/mods/basegame/locales/csCZ/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "Nový Svět", + "CONTEXT_WORLD_NEW": "Nový Svět", "MENU_LABEL_DELETE_WORLD": "Smazat Svět", "CONTEXT_WORLD_COUNT": "Světy: ", "CONTEXT_ITEM_MAP": "Mapa", diff --git a/assets/mods/basegame/locales/daDK/game.json b/assets/mods/basegame/locales/daDK/game.json index 03f29e127..502102bed 100644 --- a/assets/mods/basegame/locales/daDK/game.json +++ b/assets/mods/basegame/locales/daDK/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "Ny Verden", + "CONTEXT_WORLD_NEW": "Ny Verden", "MENU_LABEL_DELETE_WORLD": "Slet Verden", "CONTEXT_WORLD_COUNT": "Verdener: ", "CONTEXT_ITEM_MAP": "Kort", diff --git a/assets/mods/basegame/locales/de/game.json b/assets/mods/basegame/locales/de/game.json index c6d4b9444..7a7755f4e 100644 --- a/assets/mods/basegame/locales/de/game.json +++ b/assets/mods/basegame/locales/de/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "Neue Welt", + "CONTEXT_WORLD_NEW": "Neue Welt", "MENU_LABEL_DELETE_WORLD": "Welt Löschen", "CONTEXT_WORLD_COUNT": "Welten: ", "GAME_INVENTORY_INGREDIENTS": "Zutaten", diff --git a/assets/mods/basegame/locales/elGR/game.json b/assets/mods/basegame/locales/elGR/game.json index 320ff2912..a56c78d53 100644 --- a/assets/mods/basegame/locales/elGR/game.json +++ b/assets/mods/basegame/locales/elGR/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "Νέο Κόσμο", + "CONTEXT_WORLD_NEW": "Νέο Κόσμο", "MENU_LABEL_DELETE_WORLD": "Διαγραφή Κόσμο", "CONTEXT_WORLD_COUNT": "Κόσμοι: ", "CONTEXT_ITEM_MAP": "Χαρτης", diff --git a/assets/mods/basegame/locales/en/game.json b/assets/mods/basegame/locales/en/game.json index 58b4a69fc..afc8ca4c3 100644 --- a/assets/mods/basegame/locales/en/game.json +++ b/assets/mods/basegame/locales/en/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "New World", + "CONTEXT_WORLD_NEW": "New World", "MENU_LABEL_DELETE_WORLD": "Delete World", "CONTEXT_WORLD_COUNT": "Worlds: ", "GAME_INVENTORY_INGREDIENTS": "Ingredients", diff --git a/assets/mods/basegame/locales/es/game.json b/assets/mods/basegame/locales/es/game.json index faf0ec273..ba6638720 100644 --- a/assets/mods/basegame/locales/es/game.json +++ b/assets/mods/basegame/locales/es/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "Nuevo Mundo", + "CONTEXT_WORLD_NEW": "Nuevo Mundo", "MENU_LABEL_DELETE_WORLD": "Eliminar Mundo", "CONTEXT_WORLD_COUNT": "Mundos: ", "CONTEXT_ITEM_MAP": "Mapa", diff --git a/assets/mods/basegame/locales/fiFI/game.json b/assets/mods/basegame/locales/fiFI/game.json index d68c02237..3c533eac5 100644 --- a/assets/mods/basegame/locales/fiFI/game.json +++ b/assets/mods/basegame/locales/fiFI/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "Uusi Maailma", + "CONTEXT_WORLD_NEW": "Uusi Maailma", "MENU_LABEL_DELETE_WORLD": "Poista Maailma", "CONTEXT_WORLD_COUNT": "Maailmoja: ", "MENU_MONITOR_CALI_TITLE": "Tarkista näytön", diff --git a/assets/mods/basegame/locales/frFR/game.json b/assets/mods/basegame/locales/frFR/game.json index f21064e34..f9490ce8a 100644 --- a/assets/mods/basegame/locales/frFR/game.json +++ b/assets/mods/basegame/locales/frFR/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "Nouveau Monde", + "CONTEXT_WORLD_NEW": "Nouveau Monde", "MENU_LABEL_DELETE_WORLD": "Supprimer Monde", "CONTEXT_WORLD_COUNT": "Mondes: ", "MENU_MONITOR_CALI_TITLE": "Vérification d'écran", diff --git a/assets/mods/basegame/locales/huHU/game.json b/assets/mods/basegame/locales/huHU/game.json index e431af085..1963a872b 100644 --- a/assets/mods/basegame/locales/huHU/game.json +++ b/assets/mods/basegame/locales/huHU/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "Új Világ", + "CONTEXT_WORLD_NEW": "Új Világ", "MENU_LABEL_DELETE_WORLD": "Világ Törlése", "CONTEXT_ITEM_MAP": "Térkép", "MENU_LABEL_MENU": "Menü" diff --git a/assets/mods/basegame/locales/isIC/game.json b/assets/mods/basegame/locales/isIC/game.json index ece0a81d7..d2aed2f77 100644 --- a/assets/mods/basegame/locales/isIC/game.json +++ b/assets/mods/basegame/locales/isIC/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "Nýr Heimur", + "CONTEXT_WORLD_NEW": "Nýr Heimur", "MENU_LABEL_DELETE_WORLD": "Eyða Heimur", "CONTEXT_WORLD_COUNT": "Heimar: ", diff --git a/assets/mods/basegame/locales/it/game.json b/assets/mods/basegame/locales/it/game.json index c3f88519c..3f4b6f082 100644 --- a/assets/mods/basegame/locales/it/game.json +++ b/assets/mods/basegame/locales/it/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "Nuovo Mondo", + "CONTEXT_WORLD_NEW": "Nuovo Mondo", "MENU_LABEL_DELETE_WORLD": "Cancella Mondo", "CONTEXT_WORLD_COUNT": "Mondi: ", "CONTEXT_ITEM_MAP": "Mappa", diff --git a/assets/mods/basegame/locales/jaJP/game.json b/assets/mods/basegame/locales/jaJP/game.json index dd9df1324..f9e939047 100644 --- a/assets/mods/basegame/locales/jaJP/game.json +++ b/assets/mods/basegame/locales/jaJP/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "新しい世界", + "CONTEXT_WORLD_NEW": "新しい世界", "MENU_LABEL_DELETE_WORLD": "世界を削除", "CONTEXT_WORLD_COUNT": "世界: ", "MENU_MONITOR_CALI_TITLE": "モニターチェック", diff --git a/assets/mods/basegame/locales/jakanaJP/game.json b/assets/mods/basegame/locales/jakanaJP/game.json index 6512a3c30..f61499c38 100644 --- a/assets/mods/basegame/locales/jakanaJP/game.json +++ b/assets/mods/basegame/locales/jakanaJP/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "あたらしい せかい", + "CONTEXT_WORLD_NEW": "あたらしい せかい", "MENU_LABEL_DELETE_WORLD": "せかいを さくじょ", "CONTEXT_WORLD_COUNT": "せかい: ", diff --git a/assets/mods/basegame/locales/koKR/game.json b/assets/mods/basegame/locales/koKR/game.json index 0ee00a4a7..0a3747981 100644 --- a/assets/mods/basegame/locales/koKR/game.json +++ b/assets/mods/basegame/locales/koKR/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "새 세계", + "CONTEXT_WORLD_NEW": "새 세계", "MENU_LABEL_DELETE_WORLD": "새계 삭제", "CONTEXT_WORLD_COUNT": "새계: ", "MENU_MONITOR_CALI_TITLE": "모니터 확인", diff --git a/assets/mods/basegame/locales/nlNL/game.json b/assets/mods/basegame/locales/nlNL/game.json index ff2ffe1e2..8f9089e6c 100644 --- a/assets/mods/basegame/locales/nlNL/game.json +++ b/assets/mods/basegame/locales/nlNL/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "Nieuwe Wereld", + "CONTEXT_WORLD_NEW": "Nieuwe Wereld", "MENU_LABEL_DELETE_WORLD": "Verwijder Wereld", "CONTEXT_WORLD_COUNT": "Werelden: ", "CONTEXT_ITEM_MAP": "Kaart", diff --git a/assets/mods/basegame/locales/noNB/game.json b/assets/mods/basegame/locales/noNB/game.json index 186ed875f..a0bc7cfe0 100644 --- a/assets/mods/basegame/locales/noNB/game.json +++ b/assets/mods/basegame/locales/noNB/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "Ny Verden", + "CONTEXT_WORLD_NEW": "Ny Verden", "MENU_LABEL_DELETE_WORLD": "Slett Verden", "CONTEXT_WORLD_COUNT": "Verdener: ", "CONTEXT_ITEM_MAP": "Kart", diff --git a/assets/mods/basegame/locales/plPL/game.json b/assets/mods/basegame/locales/plPL/game.json index fc7a04513..9fb8bd561 100644 --- a/assets/mods/basegame/locales/plPL/game.json +++ b/assets/mods/basegame/locales/plPL/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "Nowy Świat", + "CONTEXT_WORLD_NEW": "Nowy Świat", "MENU_LABEL_DELETE_WORLD": "Usuń Świat", "CONTEXT_WORLD_COUNT": "Światy: ", "CONTEXT_ITEM_MAP": "Mapa", diff --git a/assets/mods/basegame/locales/ptBR/game.json b/assets/mods/basegame/locales/ptBR/game.json index 232bda8be..ff1d13f2b 100644 --- a/assets/mods/basegame/locales/ptBR/game.json +++ b/assets/mods/basegame/locales/ptBR/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "Novo Mundo", + "CONTEXT_WORLD_NEW": "Novo Mundo", "MENU_LABEL_DELETE_WORLD": "Excluir Mundo", "CONTEXT_WORLD_COUNT": "Mundos: ", "CONTEXT_ITEM_MAP": "Mapa", diff --git a/assets/mods/basegame/locales/ptPT/game.json b/assets/mods/basegame/locales/ptPT/game.json index 2c7fd1963..10bf35537 100644 --- a/assets/mods/basegame/locales/ptPT/game.json +++ b/assets/mods/basegame/locales/ptPT/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "Nova Mundo", + "CONTEXT_WORLD_NEW": "Nova Mundo", "MENU_LABEL_DELETE_WORLD": "Apagar Mundo", "CONTEXT_WORLD_COUNT": "Mundos: ", "CONTEXT_ITEM_MAP": "Mapa", diff --git a/assets/mods/basegame/locales/roRO/game.json b/assets/mods/basegame/locales/roRO/game.json index defde0511..2b549d163 100644 --- a/assets/mods/basegame/locales/roRO/game.json +++ b/assets/mods/basegame/locales/roRO/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "Lume Nouă", + "CONTEXT_WORLD_NEW": "Lume Nouă", "MENU_LABEL_DELETE_WORLD": "Șterge Lume", "CONTEXT_WORLD_COUNT": "Lumi: ", "CONTEXT_ITEM_MAP": "Hartă", diff --git a/assets/mods/basegame/locales/ruRU/game.json b/assets/mods/basegame/locales/ruRU/game.json index 9b74924b7..bbbad1d9e 100644 --- a/assets/mods/basegame/locales/ruRU/game.json +++ b/assets/mods/basegame/locales/ruRU/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "Новый Мир", + "CONTEXT_WORLD_NEW": "Новый Мир", "MENU_LABEL_DELETE_WORLD": "Удалить Мир", "CONTEXT_WORLD_COUNT": "Миры: ", "GAME_INVENTORY_INGREDIENTS": "Ингредиенты", diff --git a/assets/mods/basegame/locales/svSE/game.json b/assets/mods/basegame/locales/svSE/game.json index 9e1fdebb1..8d053ad9f 100644 --- a/assets/mods/basegame/locales/svSE/game.json +++ b/assets/mods/basegame/locales/svSE/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "Ny Värld", + "CONTEXT_WORLD_NEW": "Ny Värld", "MENU_LABEL_DELETE_WORLD": "Radera Värld", "CONTEXT_WORLD_COUNT": "Världar: ", "CONTEXT_ITEM_MAP": "Karta", diff --git a/assets/mods/basegame/locales/thTH/game.json b/assets/mods/basegame/locales/thTH/game.json index 8971e4f50..a8142f785 100644 --- a/assets/mods/basegame/locales/thTH/game.json +++ b/assets/mods/basegame/locales/thTH/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "โลกใหม่", + "CONTEXT_WORLD_NEW": "โลกใหม่", "MENU_LABEL_DELETE_WORLD": "ลบโลก", "CONTEXT_WORLD_COUNT": "โลก: ", "CONTEXT_ITEM_MAP": "แผนที่", diff --git a/assets/mods/basegame/locales/trTR/game.json b/assets/mods/basegame/locales/trTR/game.json index e297b45e8..05adf35e2 100644 --- a/assets/mods/basegame/locales/trTR/game.json +++ b/assets/mods/basegame/locales/trTR/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "Yeni Dünya", + "CONTEXT_WORLD_NEW": "Yeni Dünya", "MENU_LABEL_DELETE_WORLD": "dünyayı Sil", "CONTEXT_WORLD_COUNT": "Dünyalar: ", "CONTEXT_ITEM_MAP": "Harita", diff --git a/assets/mods/basegame/locales/zhCN/game.json b/assets/mods/basegame/locales/zhCN/game.json index 7c5a755f7..edf4fba47 100644 --- a/assets/mods/basegame/locales/zhCN/game.json +++ b/assets/mods/basegame/locales/zhCN/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "创新世界", + "CONTEXT_WORLD_NEW": "创新世界", "MENU_LABEL_DELETE_WORLD": "删除世界", "CONTEXT_WORLD_COUNT": "世界: ", "CONTEXT_ITEM_MAP": "地图", diff --git a/assets/mods/basegame/locales/zhTW/game.json b/assets/mods/basegame/locales/zhTW/game.json index 16fdc77cd..169c1d439 100644 --- a/assets/mods/basegame/locales/zhTW/game.json +++ b/assets/mods/basegame/locales/zhTW/game.json @@ -1,5 +1,5 @@ { - "MENU_LABEL_NEW_WORLD": "創新世界", + "CONTEXT_WORLD_NEW": "創新世界", "MENU_LABEL_DELETE_WORLD": "刪除世界", "CONTEXT_WORLD_COUNT": "世界: ", "CONTEXT_ITEM_MAP": "地圖", diff --git a/src/net/torvald/terrarum/ModOptionsHost.kt b/src/net/torvald/terrarum/ModOptionsHost.kt index 7307791d9..e0ffb6a89 100644 --- a/src/net/torvald/terrarum/ModOptionsHost.kt +++ b/src/net/torvald/terrarum/ModOptionsHost.kt @@ -5,7 +5,7 @@ import com.badlogic.gdx.graphics.g2d.SpriteBatch import net.torvald.terrarum.modulebasegame.ui.UIRemoCon import net.torvald.terrarum.ui.UICanvas -class ModOptionsHost : UICanvas() { +class ModOptionsHost(val remoCon: UIRemoCon) : UICanvas() { override var openCloseTime: Second = 0f diff --git a/src/net/torvald/terrarum/modulebasegame/ui/GraphicsControlPanel.kt b/src/net/torvald/terrarum/modulebasegame/ui/GraphicsControlPanel.kt index 6376a5e9e..64c368e06 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/GraphicsControlPanel.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/GraphicsControlPanel.kt @@ -15,7 +15,7 @@ import net.torvald.terrarum.ui.UIItemToggleButton /** * Created by minjaesong on 2021-10-06. */ -class GraphicsControlPanel : UICanvas() { +class GraphicsControlPanel(val remoCon: UIRemoCon) : UICanvas() { override var width = 400 override var height = 400 diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryEscMenu.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryEscMenu.kt index be26423e0..45cb862c8 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryEscMenu.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryEscMenu.kt @@ -74,7 +74,7 @@ class UIInventoryEscMenu(val full: UIInventoryFull) : UICanvas() { ) private val savingUI = UIItemSaving(this, (width - UIItemSaving.WIDTH) / 2, (height - UIItemSaving.HEIGHT) / 2) - private val keyConfigUI = UIKeyboardControlPanel() + private val keyConfigUI = UIKeyboardControlPanel(null) private var oldScreen = 0 private var screen = 0 diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIKeyboardControlPanel.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIKeyboardControlPanel.kt index 6def60acd..bc492082f 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIKeyboardControlPanel.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIKeyboardControlPanel.kt @@ -16,7 +16,7 @@ import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack /** * Created by minjaesong on 2021-09-15. */ -class UIKeyboardControlPanel : UICanvas() { +class UIKeyboardControlPanel(remoCon: UIRemoCon?) : UICanvas() { init { CommonResourcePool.addToLoadingList("inventory_category") { diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UILoadDemoSavefiles.kt b/src/net/torvald/terrarum/modulebasegame/ui/UILoadDemoSavefiles.kt index 6c0a50347..ee1c88860 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UILoadDemoSavefiles.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UILoadDemoSavefiles.kt @@ -41,7 +41,7 @@ val SAVE_CELL_HEIGHT = 120 * * Created by minjaesong on 2021-09-09. */ -class UILoadDemoSavefiles : UICanvas() { +class UILoadDemoSavefiles(val remoCon: UIRemoCon) : UICanvas() { init { CommonResourcePool.addToLoadingList("inventory_category") { @@ -129,8 +129,6 @@ class UILoadDemoSavefiles : UICanvas() { override fun show() { try { - val remoCon = (App.getCurrentScreen() as TitleScreen).uiRemoCon - remoCon.handler.lockToggle() showSpinner = true @@ -181,11 +179,24 @@ class UILoadDemoSavefiles : UICanvas() { } private fun getCells() = if (mode == 0) playerCells else worldCells + private val menuTree = arrayOf(UITitleRemoConYaml.injectedMenuSingleCharSel, UITitleRemoConYaml.injectedMenuSingleWorldSel).map { Yaml(it).parse() } private var loadFired = 0 + private var oldMode = -1 + private val remoConParentNode = remoCon.currentRemoConContents + + private fun modeChangedHandler(mode: Int) { + remoCon.setNewRemoConContents(menuTree[mode], remoConParentNode) + } override fun updateUI(delta: Float) { if (mode < 2) { + + if (oldMode != mode) { + modeChangedHandler(mode) + oldMode = mode + } + if (scrollTarget != listScroll) { if (scrollAnimCounter < scrollAnimLen) { scrollAnimCounter += delta @@ -293,7 +304,7 @@ class UILoadDemoSavefiles : UICanvas() { batch.draw(saveTex, (width - uiWidth - 10) / 2f, 0f) // draw texts - val loadGameTitleStr = Lang["MENU_IO_LOAD_GAME"] + val loadGameTitleStr = Lang["MENU_IO_LOAD"] // "Game Load" App.fontGame.draw(batch, loadGameTitleStr, (width - App.fontGame.getWidth(loadGameTitleStr)).div(2).toFloat(), titleTextPosY.toFloat()) // Control help diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIProxyLoadLatestSave.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIProxyLoadLatestSave.kt index 6eb45a0b5..48853cb53 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIProxyLoadLatestSave.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIProxyLoadLatestSave.kt @@ -8,7 +8,7 @@ import net.torvald.terrarum.ui.UICanvas /** * Created by minjaesong on 2021-09-13. */ -class UIProxyLoadLatestSave : UICanvas() { +class UIProxyLoadLatestSave(val remoCon: UIRemoCon) : UICanvas() { override var width: Int = 0 override var height: Int = 0 diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIProxyNewRandomGame.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIProxyNewRandomGame.kt index f7d4bf5a1..a3e0200ba 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIProxyNewRandomGame.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIProxyNewRandomGame.kt @@ -17,7 +17,7 @@ import net.torvald.terrarum.utils.RandomWordsName /** * Created by minjaesong on 2018-12-08. */ -class UIProxyNewRandomGame : UICanvas() { +class UIProxyNewRandomGame(val remoCon: UIRemoCon) : UICanvas() { override var width: Int = 0 override var height: Int = 0 diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIRemoCon.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIRemoCon.kt index ec258ef7d..ca7f2dff4 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIRemoCon.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIRemoCon.kt @@ -59,8 +59,8 @@ open class UIRemoCon(val parent: TitleScreen, treeRepresentation: QNDTreeNode selectedIndex ?: 0x7FFFFFFF) { - - - val newCurrentRemoConContents = currentRemoConContents.children[selectedIndex!!] - - // only go deeper if that node has child to navigate - if (currentRemoConContents.children[selectedIndex].children.size != 0) { - remoConTray.consume() - remoConTray = generateNewRemoCon(newCurrentRemoConContents) - currentRemoConContents = newCurrentRemoConContents - } - - currentlySelectedRemoConItem = newCurrentRemoConContents.data + setNewRemoConContents(currentRemoConContents.children[selectedIndex!!]) } else { throw RuntimeException("Index: $selectedIndex, Size: ${currentRemoConContents.children.size}") @@ -165,6 +154,22 @@ open class UIRemoCon(val parent: TitleScreen, treeRepresentation: QNDTreeNode, forceSetParent: QNDTreeNode? = null) { + + if (forceSetParent != null) { + newCurrentRemoConContents.parent = forceSetParent + } + + // only go deeper if that node has child to navigate + if (newCurrentRemoConContents.children.size != 0) { + remoConTray.consume() + remoConTray = generateNewRemoCon(newCurrentRemoConContents) + currentRemoConContents = newCurrentRemoConContents + } + + currentlySelectedRemoConItem = newCurrentRemoConContents.data + } + override fun renderUI(batch: SpriteBatch, camera: Camera) { remoConTray.render(batch, camera) openUI?.render(batch, camera) diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UITitleLanguage.kt b/src/net/torvald/terrarum/modulebasegame/ui/UITitleLanguage.kt index 69659ddd6..7fa17bdd0 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UITitleLanguage.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UITitleLanguage.kt @@ -10,7 +10,7 @@ import net.torvald.terrarum.ui.Toolkit import net.torvald.terrarum.ui.UICanvas import net.torvald.terrarum.ui.UIItemTextButtonList -class UITitleLanguage : UICanvas() { +class UITitleLanguage(val remoCon: UIRemoCon) : UICanvas() { val menuLabels = arrayOf( "MENU_LABEL_RETURN" diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UITitleRemoConYaml.kt b/src/net/torvald/terrarum/modulebasegame/ui/UITitleRemoConYaml.kt index 85d0338e2..30791e243 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UITitleRemoConYaml.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UITitleRemoConYaml.kt @@ -11,8 +11,8 @@ object UITitleRemoConYaml { * * The class must be the UICanvas */ - private val menuBase = """ -- MENU_LABEL_NEW_GAME : net.torvald.terrarum.modulebasegame.ui.UIProxyNewRandomGame + val menuBase = """ +- MENU_MODE_SINGLEPLAYER : net.torvald.terrarum.modulebasegame.ui.UILoadDemoSavefiles - MENU_OPTIONS - MENU_LABEL_GRAPHICS : net.torvald.terrarum.modulebasegame.ui.GraphicsControlPanel - MENU_OPTIONS_CONTROLS : net.torvald.terrarum.modulebasegame.ui.UIKeyboardControlPanel @@ -26,18 +26,25 @@ object UITitleRemoConYaml { - MENU_LABEL_QUIT """ - private val menuWithSavefile = """ + val menuWithSavefile = """ - MENU_LABEL_CONTINUE : net.torvald.terrarum.modulebasegame.ui.UIProxyLoadLatestSave -- MENU_IO_LOAD : net.torvald.terrarum.modulebasegame.ui.UILoadDemoSavefiles - - MENU_LABEL_NEW_WORLD - - MENU_LABEL_RETURN""" - - private val menuNewGame = """ """ + val menuNewGame = """ +""" + + val injectedMenuSingleCharSel = """ +- CONTEXT_CHARACTER_NEW +- MENU_LABEL_RETURN +""" + + val injectedMenuSingleWorldSel = """ +- CONTEXT_WORLD_NEW +- MENU_LABEL_RETURN +""" operator fun invoke(hasSave: Boolean) = - //Yaml((if (hasSave) menuWithSavefile else menuNewGame) + menuBase).parse() - Yaml((if (true) menuWithSavefile else menuNewGame) + menuBase).parse() +// Yaml((if (hasSave) menuWithSavefile else menuNewGame) + menuBase).parse() + Yaml(menuBase).parse() } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UITitleWallOfText.kt b/src/net/torvald/terrarum/modulebasegame/ui/UITitleWallOfText.kt index 5c248656c..328069d92 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UITitleWallOfText.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UITitleWallOfText.kt @@ -56,5 +56,5 @@ open class UITitleWallOfText(private val text: List) : UICanvas() { } } -class UITitleCredits : UITitleWallOfText(CreditSingleton.credit) -class UITitleGPL3 : UITitleWallOfText(CreditSingleton.gpl3) \ No newline at end of file +class UITitleCredits(val remoCon: UIRemoCon) : UITitleWallOfText(CreditSingleton.credit) +class UITitleGPL3(val remoCon: UIRemoCon) : UITitleWallOfText(CreditSingleton.gpl3) \ No newline at end of file