mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-11 11:04:05 +09:00
crafting ui is on the inventory menu now
This commit is contained in:
Binary file not shown.
@@ -13,5 +13,8 @@
|
|||||||
"MENU_LABEL_MENU": "Menu",
|
"MENU_LABEL_MENU": "Menu",
|
||||||
"CONTEXT_GENERATOR_SEED": "Seed",
|
"CONTEXT_GENERATOR_SEED": "Seed",
|
||||||
"GAME_ACTION_GRAPPLE": "Grapple",
|
"GAME_ACTION_GRAPPLE": "Grapple",
|
||||||
"GAME_ACTION_QUICKSEL": "Quick Select"
|
"GAME_ACTION_QUICKSEL": "Quick Select",
|
||||||
|
"MENU_LABEL_CRAFT": "Craft",
|
||||||
|
"MENU_LABEL_CRAFTING": "Crafting",
|
||||||
|
"GAME_CRAFTABLE_ITEMS": "Craftable Items"
|
||||||
}
|
}
|
||||||
@@ -14,5 +14,8 @@
|
|||||||
"CONTEXT_ITEM_MAP": "지도",
|
"CONTEXT_ITEM_MAP": "지도",
|
||||||
"CONTEXT_GENERATOR_SEED": "시드",
|
"CONTEXT_GENERATOR_SEED": "시드",
|
||||||
"GAME_ACTION_GRAPPLE": "매달리기",
|
"GAME_ACTION_GRAPPLE": "매달리기",
|
||||||
"GAME_ACTION_QUICKSEL": "빠른 선택"
|
"GAME_ACTION_QUICKSEL": "빠른 선택",
|
||||||
|
"MENU_LABEL_CRAFT": "제작하기",
|
||||||
|
"MENU_LABEL_CRAFTING": "제작",
|
||||||
|
"GAME_CRAFTABLE_ITEMS": "제작 가능한 아이템"
|
||||||
}
|
}
|
||||||
@@ -69,6 +69,7 @@ object DefaultConfig {
|
|||||||
"control_key_zoom" to Input.Keys.Z,
|
"control_key_zoom" to Input.Keys.Z,
|
||||||
|
|
||||||
"control_key_gamemenu" to Input.Keys.TAB,
|
"control_key_gamemenu" to Input.Keys.TAB,
|
||||||
|
"control_key_crafting" to Input.Keys.W,
|
||||||
"control_key_quicksel" to Input.Keys.SHIFT_LEFT, // pie menu is now LShift because CapsLock is actually used by the my bespoke keyboard input
|
"control_key_quicksel" to Input.Keys.SHIFT_LEFT, // pie menu is now LShift because CapsLock is actually used by the my bespoke keyboard input
|
||||||
"control_mouse_quicksel" to Input.Buttons.MIDDLE, // middle click to open pie menu
|
"control_mouse_quicksel" to Input.Buttons.MIDDLE, // middle click to open pie menu
|
||||||
|
|
||||||
|
|||||||
@@ -84,7 +84,12 @@ class UIItemInventoryCatBar(
|
|||||||
// determine gaps: hacky way exploiting that we already know the catbar is always at the c of the ui
|
// determine gaps: hacky way exploiting that we already know the catbar is always at the c of the ui
|
||||||
val relativeStartX = posX - (uiInternalWidth - width) / 2
|
val relativeStartX = posX - (uiInternalWidth - width) / 2
|
||||||
val sideButtonsGap = (((uiInternalWidth - width) / 2) - 2f * catIcons.tileW) / 3f
|
val sideButtonsGap = (((uiInternalWidth - width) / 2) - 2f * catIcons.tileW) / 3f
|
||||||
val iconIndex = arrayOf(12, 16, 17, 13)
|
val iconIndex = arrayOf(
|
||||||
|
catIcons.get(9,1),
|
||||||
|
catIcons.get(16,0),
|
||||||
|
catIcons.get(17,0),
|
||||||
|
catIcons.get(13,0)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
//println("[UIItemInventoryCatBar] relativeStartX: $relativeStartX")
|
//println("[UIItemInventoryCatBar] relativeStartX: $relativeStartX")
|
||||||
@@ -99,7 +104,7 @@ class UIItemInventoryCatBar(
|
|||||||
|
|
||||||
UIItemImageButton(
|
UIItemImageButton(
|
||||||
inventoryUI,
|
inventoryUI,
|
||||||
catIcons.get(iconIndex[index], 0),
|
iconIndex[index],
|
||||||
activeBackCol = Color(0),
|
activeBackCol = Color(0),
|
||||||
backgroundCol = Color(0),
|
backgroundCol = Color(0),
|
||||||
highlightBackCol = Color(0),
|
highlightBackCol = Color(0),
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.badlogic.gdx.graphics.Camera
|
|||||||
import com.badlogic.gdx.graphics.Color
|
import com.badlogic.gdx.graphics.Color
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||||
import net.torvald.terrarum.*
|
import net.torvald.terrarum.*
|
||||||
|
import net.torvald.terrarum.App.printdbg
|
||||||
import net.torvald.terrarum.gameitems.GameItem
|
import net.torvald.terrarum.gameitems.GameItem
|
||||||
import net.torvald.terrarum.langpack.Lang
|
import net.torvald.terrarum.langpack.Lang
|
||||||
import net.torvald.terrarum.modulebasegame.ui.*
|
import net.torvald.terrarum.modulebasegame.ui.*
|
||||||
@@ -18,59 +19,57 @@ import net.torvald.terrarum.ui.UIItemTextButton
|
|||||||
*
|
*
|
||||||
* Created by minjaesong on 2022-03-10.
|
* Created by minjaesong on 2022-03-10.
|
||||||
*/
|
*/
|
||||||
class UICrafting : UICanvas(
|
class UICrafting(val full: UIInventoryFull) : UICanvas(
|
||||||
toggleKeyLiteral = App.getConfigInt("control_key_inventory"),
|
toggleKeyLiteral = App.getConfigInt("control_key_inventory"),
|
||||||
toggleButtonLiteral = App.getConfigInt("control_gamepad_start"),
|
toggleButtonLiteral = App.getConfigInt("control_gamepad_start"),
|
||||||
), HasInventory {
|
), HasInventory {
|
||||||
|
|
||||||
|
private val catBar: UIItemInventoryCatBar
|
||||||
|
get() = full.catBar
|
||||||
|
|
||||||
override var width = App.scr.width
|
override var width = App.scr.width
|
||||||
override var height = App.scr.height
|
override var height = App.scr.height
|
||||||
override var openCloseTime: Second = 0.0f
|
override var openCloseTime: Second = 0.0f
|
||||||
|
|
||||||
private val catBar: UIItemInventoryCatBar
|
|
||||||
private val itemListPlayer: UIItemInventoryItemGrid
|
private val itemListPlayer: UIItemInventoryItemGrid
|
||||||
private val itemListCraftable: UIItemInventoryItemGrid
|
private val itemListCraftable: UIItemInventoryItemGrid
|
||||||
private val buttonCraft: UIItemTextButton
|
private val buttonCraft: UIItemTextButton
|
||||||
private val buttonCancel: UIItemTextButton
|
private val buttonCancel: UIItemTextButton
|
||||||
|
|
||||||
|
private val fakeInventory = FixtureInventory()
|
||||||
|
|
||||||
private val negotiator = object : InventoryNegotiator() {
|
private val negotiator = object : InventoryNegotiator() {
|
||||||
override fun accept(player: FixtureInventory, fixture: FixtureInventory, item: GameItem, amount: Long) {
|
override fun accept(player: FixtureInventory, fixture: FixtureInventory, item: GameItem, amount: Long) {
|
||||||
TODO()
|
// TODO()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun reject(fixture: FixtureInventory, player: FixtureInventory, item: GameItem, amount: Long) {
|
override fun reject(fixture: FixtureInventory, player: FixtureInventory, item: GameItem, amount: Long) {
|
||||||
TODO()
|
// TODO()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getNegotiator() = negotiator
|
override fun getNegotiator() = negotiator
|
||||||
override fun getFixtureInventory(): FixtureInventory = TODO()
|
override fun getFixtureInventory(): FixtureInventory = fakeInventory
|
||||||
override fun getPlayerInventory(): FixtureInventory = INGAME.actorNowPlaying!!.inventory
|
override fun getPlayerInventory(): FixtureInventory = INGAME.actorNowPlaying!!.inventory
|
||||||
|
|
||||||
private var halfSlotOffset = (UIItemInventoryElemSimple.height + UIItemInventoryItemGrid.listGap) / 2
|
private var halfSlotOffset = (UIItemInventoryElemSimple.height + listGap) / 2
|
||||||
|
|
||||||
|
|
||||||
|
private val thisOffsetX = UIInventoryFull.INVENTORY_CELLS_OFFSET_X() - halfSlotOffset
|
||||||
|
private val thisOffsetX2 = thisOffsetX + (listGap + UIItemInventoryElemWide.height) * 7
|
||||||
|
private val thisXend = thisOffsetX + (listGap + UIItemInventoryElemWide.height) * 13 - listGap
|
||||||
|
private val thisOffsetY = UIInventoryFull.INVENTORY_CELLS_OFFSET_Y()
|
||||||
|
|
||||||
init {
|
init {
|
||||||
catBar = UIItemInventoryCatBar(
|
val craftButtonsY = thisOffsetY + 23 + (UIItemInventoryElemWide.height + listGap) * (UIInventoryFull.CELLS_VRT - 1)
|
||||||
this,
|
val buttonWidth = (UIItemInventoryElemWide.height + listGap) * 3 - listGap - 2
|
||||||
(App.scr.width - UIInventoryFull.catBarWidth) / 2,
|
|
||||||
42 - UIInventoryFull.YPOS_CORRECTION + (App.scr.height - UIInventoryFull.internalHeight) / 2,
|
// crafting list to the left
|
||||||
UIInventoryFull.internalWidth,
|
|
||||||
UIInventoryFull.catBarWidth,
|
|
||||||
false
|
|
||||||
)
|
|
||||||
catBar.selectionChangeListener = { old, new -> itemListUpdate() }
|
|
||||||
val craftableX = UIInventoryFull.INVENTORY_CELLS_OFFSET_X() - halfSlotOffset + (UIItemInventoryItemGrid.listGap + UIItemInventoryElemWide.height) * 7
|
|
||||||
val craftableY = UIInventoryFull.INVENTORY_CELLS_OFFSET_Y()
|
|
||||||
val craftButtonsY = craftableY + (UIItemInventoryElemWide.height + listGap) * (UIInventoryFull.CELLS_VRT - 1)
|
|
||||||
val gridWidth = (UIItemInventoryItemGrid.listGap + UIItemInventoryElemWide.height) * 7
|
|
||||||
val buttonWidth = (gridWidth - listGap) / 2
|
|
||||||
itemListCraftable = UIItemInventoryItemGrid(
|
itemListCraftable = UIItemInventoryItemGrid(
|
||||||
this,
|
this,
|
||||||
catBar,
|
catBar,
|
||||||
{ getFixtureInventory() },
|
{ getFixtureInventory() },
|
||||||
craftableX, craftableY,
|
thisOffsetX,
|
||||||
|
thisOffsetY,
|
||||||
6, UIInventoryFull.CELLS_VRT - 1, // decrease the internal height so that craft/cancel button would fit in
|
6, UIInventoryFull.CELLS_VRT - 1, // decrease the internal height so that craft/cancel button would fit in
|
||||||
drawScrollOnRightside = false,
|
drawScrollOnRightside = false,
|
||||||
drawWallet = false,
|
drawWallet = false,
|
||||||
@@ -83,26 +82,27 @@ class UICrafting : UICanvas(
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
buttonCraft = UIItemTextButton(this, "MENU_LABEL_CRAFT", craftableX, craftButtonsY, buttonWidth, true, alignment = UIItemTextButton.Companion.Alignment.CENTRE, hasBorder = true)
|
buttonCancel = UIItemTextButton(this, "MENU_LABEL_CANCEL", thisOffsetX + 1, craftButtonsY, buttonWidth, true, alignment = UIItemTextButton.Companion.Alignment.CENTRE, hasBorder = true)
|
||||||
buttonCancel = UIItemTextButton(this, "MENU_LABEL_CANCEL", craftableX + buttonWidth + listGap, craftButtonsY, buttonWidth, true, alignment = UIItemTextButton.Companion.Alignment.CENTRE, hasBorder = true)
|
buttonCraft = UIItemTextButton(this, "MENU_LABEL_CRAFT", thisOffsetX + 3 + buttonWidth + listGap, craftButtonsY, buttonWidth, true, alignment = UIItemTextButton.Companion.Alignment.CENTRE, hasBorder = true)
|
||||||
|
|
||||||
buttonCraft.touchDownListener = { _,_,_,_ ->
|
buttonCraft.touchDownListener = { _,_,_,_ ->
|
||||||
TODO()
|
printdbg(this, "Craft!")
|
||||||
}
|
}
|
||||||
buttonCancel.touchDownListener = { _,_,_,_ ->
|
buttonCancel.touchDownListener = { _,_,_,_ ->
|
||||||
TODO()
|
printdbg(this, "Cancel!")
|
||||||
}
|
}
|
||||||
|
|
||||||
// make grid mode buttons work together
|
// make grid mode buttons work together
|
||||||
itemListCraftable.gridModeButtons[0].touchDownListener = { _,_,_,_ -> setCompact(false) }
|
itemListCraftable.gridModeButtons[0].touchDownListener = { _,_,_,_ -> setCompact(false) }
|
||||||
itemListCraftable.gridModeButtons[1].touchDownListener = { _,_,_,_ -> setCompact(true) }
|
itemListCraftable.gridModeButtons[1].touchDownListener = { _,_,_,_ -> setCompact(true) }
|
||||||
|
|
||||||
|
// player inventory to the right
|
||||||
itemListPlayer = UIItemInventoryItemGrid(
|
itemListPlayer = UIItemInventoryItemGrid(
|
||||||
this,
|
this,
|
||||||
catBar,
|
catBar,
|
||||||
{ INGAME.actorNowPlaying!!.inventory }, // literally a player's inventory
|
{ INGAME.actorNowPlaying!!.inventory }, // literally a player's inventory
|
||||||
UIInventoryFull.INVENTORY_CELLS_OFFSET_X() - halfSlotOffset,
|
thisOffsetX2,
|
||||||
craftableY,
|
thisOffsetY,
|
||||||
6, UIInventoryFull.CELLS_VRT,
|
6, UIInventoryFull.CELLS_VRT,
|
||||||
drawScrollOnRightside = true,
|
drawScrollOnRightside = true,
|
||||||
drawWallet = false,
|
drawWallet = false,
|
||||||
@@ -119,11 +119,16 @@ class UICrafting : UICanvas(
|
|||||||
|
|
||||||
handler.allowESCtoClose = true
|
handler.allowESCtoClose = true
|
||||||
|
|
||||||
addUIitem(catBar)
|
|
||||||
addUIitem(itemListCraftable)
|
addUIitem(itemListCraftable)
|
||||||
addUIitem(itemListPlayer)
|
addUIitem(itemListPlayer)
|
||||||
|
addUIitem(buttonCancel)
|
||||||
|
addUIitem(buttonCraft)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// reset whatever player has selected to null and bring UI to its initial state
|
||||||
|
fun resetUI() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private var openingClickLatched = false
|
private var openingClickLatched = false
|
||||||
|
|
||||||
@@ -135,9 +140,14 @@ class UICrafting : UICanvas(
|
|||||||
openingClickLatched = Terrarum.mouseDown
|
openingClickLatched = Terrarum.mouseDown
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private var encumbrancePerc = 0f
|
||||||
|
|
||||||
private fun itemListUpdate() {
|
private fun itemListUpdate() {
|
||||||
itemListCraftable.rebuild(catBar.catIconsMeaning[catBar.selectedIcon])
|
itemListCraftable.rebuild(catBar.catIconsMeaning[catBar.selectedIcon])
|
||||||
itemListPlayer.rebuild(catBar.catIconsMeaning[catBar.selectedIcon])
|
itemListPlayer.rebuild(catBar.catIconsMeaning[catBar.selectedIcon])
|
||||||
|
encumbrancePerc = getPlayerInventory().let {
|
||||||
|
it.capacity.toFloat() / it.maxCapacity
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setCompact(yes: Boolean) {
|
private fun setCompact(yes: Boolean) {
|
||||||
@@ -172,15 +182,62 @@ class UICrafting : UICanvas(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun renderUI(batch: SpriteBatch, camera: Camera) {
|
override fun renderUI(batch: SpriteBatch, camera: Camera) {
|
||||||
// background fill
|
// NO super.render due to an infinite recursion
|
||||||
UIInventoryFull.drawBackground(batch)
|
this.uiItems.forEach { it.render(batch, camera) }
|
||||||
|
|
||||||
// UI items
|
|
||||||
batch.color = Color.WHITE
|
batch.color = Color.WHITE
|
||||||
|
|
||||||
catBar.render(batch, camera)
|
// text label for two inventory grids
|
||||||
itemListCraftable.render(batch, camera)
|
App.fontGame.draw(batch, Lang["GAME_CRAFTABLE_ITEMS"], thisOffsetX + 2, thisOffsetY - 30)
|
||||||
itemListPlayer.render(batch, camera)
|
App.fontGame.draw(batch, Lang["GAME_INVENTORY"], thisOffsetX2 + 2, thisOffsetY - 30)
|
||||||
|
|
||||||
|
|
||||||
|
// control hints
|
||||||
|
val controlHintXPos = thisOffsetX.toFloat()
|
||||||
|
blendNormal(batch)
|
||||||
|
App.fontGame.draw(batch, full.listControlHelp, controlHintXPos, full.yEnd - 20)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//draw player encumb
|
||||||
|
// encumbrance meter
|
||||||
|
val encumbranceText = Lang["GAME_INVENTORY_ENCUMBRANCE"]
|
||||||
|
// encumbrance bar will go one row down if control help message is too long
|
||||||
|
val encumbBarXPos = thisXend - UIInventoryCells.weightBarWidth
|
||||||
|
val encumbBarTextXPos = encumbBarXPos - 6 - App.fontGame.getWidth(encumbranceText)
|
||||||
|
val encumbBarYPos = full.yEnd-20 + 3f +
|
||||||
|
if (App.fontGame.getWidth(full.listControlHelp) + 2 + controlHintXPos >= encumbBarTextXPos)
|
||||||
|
App.fontGame.lineHeight
|
||||||
|
else 0f
|
||||||
|
App.fontGame.draw(batch, encumbranceText, encumbBarTextXPos, encumbBarYPos - 3f)
|
||||||
|
// encumbrance bar background
|
||||||
|
blendNormal(batch)
|
||||||
|
val encumbCol = UIItemInventoryCellCommonRes.getHealthMeterColour(1f - encumbrancePerc, 0f, 1f)
|
||||||
|
val encumbBack = encumbCol mul UIItemInventoryCellCommonRes.meterBackDarkening
|
||||||
|
batch.color = encumbBack
|
||||||
|
Toolkit.fillArea(batch,
|
||||||
|
encumbBarXPos, encumbBarYPos,
|
||||||
|
UIInventoryCells.weightBarWidth, UIInventoryFull.controlHelpHeight - 6f
|
||||||
|
)
|
||||||
|
// encumbrance bar
|
||||||
|
batch.color = encumbCol
|
||||||
|
Toolkit.fillArea(batch,
|
||||||
|
encumbBarXPos, encumbBarYPos,
|
||||||
|
if (full.actor.inventory.capacityMode == FixtureInventory.CAPACITY_MODE_NO_ENCUMBER)
|
||||||
|
1f
|
||||||
|
else // make sure 1px is always be seen
|
||||||
|
minOf(UIInventoryCells.weightBarWidth, maxOf(1f, UIInventoryCells.weightBarWidth * encumbrancePerc)),
|
||||||
|
UIInventoryFull.controlHelpHeight - 6f
|
||||||
|
)
|
||||||
|
// debug text
|
||||||
|
batch.color = Color.LIGHT_GRAY
|
||||||
|
if (App.IS_DEVELOPMENT_BUILD) {
|
||||||
|
App.fontSmallNumbers.draw(batch,
|
||||||
|
"${full.actor.inventory.capacity}/${full.actor.inventory.maxCapacity}",
|
||||||
|
encumbBarTextXPos,
|
||||||
|
encumbBarYPos + UIInventoryFull.controlHelpHeight - 4f
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
blendNormal(batch)
|
blendNormal(batch)
|
||||||
|
|||||||
@@ -107,11 +107,7 @@ internal class UIInventoryCells(
|
|||||||
else 0f
|
else 0f
|
||||||
// Companion.encumbBarYPos = encumbBarYPos // q&d hack to share some numbers
|
// Companion.encumbBarYPos = encumbBarYPos // q&d hack to share some numbers
|
||||||
|
|
||||||
App.fontGame.draw(batch,
|
App.fontGame.draw(batch, encumbranceText, encumbBarTextXPos, encumbBarYPos - 3f)
|
||||||
encumbranceText,
|
|
||||||
encumbBarTextXPos,
|
|
||||||
encumbBarYPos - 3f
|
|
||||||
)
|
|
||||||
|
|
||||||
// encumbrance bar background
|
// encumbrance bar background
|
||||||
blendNormal(batch)
|
blendNormal(batch)
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import net.torvald.terrarum.*
|
|||||||
import net.torvald.terrarum.App.*
|
import net.torvald.terrarum.App.*
|
||||||
import net.torvald.terrarum.langpack.Lang
|
import net.torvald.terrarum.langpack.Lang
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid
|
import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid
|
||||||
|
import net.torvald.terrarum.modulebasegame.gameactors.UICrafting
|
||||||
import net.torvald.terrarum.ui.Toolkit
|
import net.torvald.terrarum.ui.Toolkit
|
||||||
import net.torvald.terrarum.ui.UICanvas
|
import net.torvald.terrarum.ui.UICanvas
|
||||||
import net.torvald.terrarum.ui.UIItemHorizontalFadeSlide
|
import net.torvald.terrarum.ui.UIItemHorizontalFadeSlide
|
||||||
@@ -161,7 +162,8 @@ class UIInventoryFull(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
private val transitionalMinimap = UIInventoryMinimap(this) // PLACEHOLDER
|
// private val transitionalMinimap = UIInventoryMinimap(this) // PLACEHOLDER
|
||||||
|
private val transitionalCraftingUI = UICrafting(this) // PLACEHOLDER
|
||||||
private val transitionalItemCells = UIInventoryCells(this)
|
private val transitionalItemCells = UIInventoryCells(this)
|
||||||
private val transitionalEscMenu = UIInventoryEscMenu(this)
|
private val transitionalEscMenu = UIInventoryEscMenu(this)
|
||||||
private val transitionPanel = UIItemHorizontalFadeSlide(
|
private val transitionPanel = UIItemHorizontalFadeSlide(
|
||||||
@@ -171,7 +173,7 @@ class UIInventoryFull(
|
|||||||
width,
|
width,
|
||||||
App.scr.height,
|
App.scr.height,
|
||||||
1f,
|
1f,
|
||||||
transitionalMinimap, transitionalItemCells, transitionalEscMenu
|
transitionalCraftingUI, transitionalItemCells, transitionalEscMenu
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -198,7 +200,7 @@ class UIInventoryFull(
|
|||||||
setAsClose()
|
setAsClose()
|
||||||
}
|
}
|
||||||
|
|
||||||
// allow "control_key_gamemenu" to open this UI
|
// allow "control_key_gamemenu" to open this UI and bring system menu immediately
|
||||||
this.handler.toggleKeyExtra.add { App.getConfigInt("control_key_gamemenu") }
|
this.handler.toggleKeyExtra.add { App.getConfigInt("control_key_gamemenu") }
|
||||||
this.handler.toggleKeyExtraAction.add {
|
this.handler.toggleKeyExtraAction.add {
|
||||||
if (it.isClosed) {
|
if (it.isClosed) {
|
||||||
@@ -212,10 +214,23 @@ class UIInventoryFull(
|
|||||||
setAsClose()
|
setAsClose()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// allow "control_key_crafting" to open this UI and bring system menu immediately
|
||||||
|
this.handler.toggleKeyExtra.add { App.getConfigInt("control_key_crafting") }
|
||||||
|
this.handler.toggleKeyExtraAction.add {
|
||||||
|
if (it.isClosed) {
|
||||||
|
INGAME.setTooltipMessage(null)
|
||||||
|
transitionPanel.forcePosition(0)
|
||||||
|
catBar.setSelectedPanel(0)
|
||||||
|
transitionalCraftingUI.resetUI()
|
||||||
|
it.setAsOpen()
|
||||||
|
}
|
||||||
|
else if (it.isOpened)
|
||||||
|
setAsClose()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
rebuildList()
|
rebuildList()
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal var offsetX = ((width - internalWidth) / 2).toFloat()
|
internal var offsetX = ((width - internalWidth) / 2).toFloat()
|
||||||
|
|||||||
@@ -204,7 +204,7 @@ void main() {
|
|||||||
|
|
||||||
toggleKeyExtra.forEachIndexed { index, getKey ->
|
toggleKeyExtra.forEachIndexed { index, getKey ->
|
||||||
if (Gdx.input.isKeyJustPressed(getKey())) {
|
if (Gdx.input.isKeyJustPressed(getKey())) {
|
||||||
toggleKeyExtraAction[0].invoke(this)
|
toggleKeyExtraAction[index].invoke(this)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package net.torvald.terrarum.ui
|
package net.torvald.terrarum.ui
|
||||||
|
|
||||||
import com.jme3.math.FastMath
|
import com.jme3.math.FastMath
|
||||||
|
import net.torvald.terrarum.INGAME
|
||||||
import kotlin.math.absoluteValue
|
import kotlin.math.absoluteValue
|
||||||
import kotlin.math.roundToInt
|
import kotlin.math.roundToInt
|
||||||
|
|
||||||
@@ -40,5 +41,6 @@ class UIItemHorizontalFadeSlide(
|
|||||||
it.posY = it.initialY
|
it.posY = it.initialY
|
||||||
it.opacity = getOpacity(index)
|
it.opacity = getOpacity(index)
|
||||||
}
|
}
|
||||||
|
INGAME.setTooltipMessage(null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user