mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-06 08:38:30 +09:00
sign engraver wip
This commit is contained in:
@@ -3,11 +3,11 @@
|
|||||||
"1";"N/A";"N/A";"BLOCK_UPDATE";"0.0312";"0.0312";"0.0312";"0.0312";"1";"1";"AIIR";"0";"1";"N/A";"0";"0";"4";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"INTERNAL,NORANDTILE"
|
"1";"N/A";"N/A";"BLOCK_UPDATE";"0.0312";"0.0312";"0.0312";"0.0312";"1";"1";"AIIR";"0";"1";"N/A";"0";"0";"4";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"INTERNAL,NORANDTILE"
|
||||||
|
|
||||||
# rocks
|
# rocks
|
||||||
"16";"17";"17";"BLOCK_STONE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"1";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"ROCK,NATURAL,OREBEARING,SHALLOWROCK"
|
"16";"17";"17";"BLOCK_STONE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"1";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"ROCK,NATURAL,OREBEARING,SHALLOWROCK,BRICKROCK"
|
||||||
"17";"17";"17";"BLOCK_STONE_QUARRIED";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"1";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"ROCK,NATURAL,OREBEARING,SHALLOWROCK"
|
"17";"17";"17";"BLOCK_STONE_QUARRIED";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"1";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"ROCK,NATURAL,OREBEARING,SHALLOWROCK,BRICKROCK"
|
||||||
"18";"18";"18";"BLOCK_STONE_TILE_WHITE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"1";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.18";"STONE,NORANDTILE"
|
"18";"18";"18";"BLOCK_STONE_TILE_WHITE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"1";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.18";"STONE,NORANDTILE"
|
||||||
"19";"19";"19";"BLOCK_STONE_BRICKS";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"1";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"STONE,NORANDTILE"
|
"19";"19";"19";"BLOCK_STONE_BRICKS";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"1";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"STONE,NORANDTILE"
|
||||||
"20";"20";"20";"BLOCK_STONE_DEEP";"0.1252";"0.1252";"0.1252";"0.1252";"80";"2400";"ROCK";"1";"1";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"ROCK,NATURA,OREBEARING,DEEPROCK"
|
"20";"20";"20";"BLOCK_STONE_DEEP";"0.1252";"0.1252";"0.1252";"0.1252";"80";"2400";"ROCK";"1";"1";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"ROCK,NATURA,OREBEARING,DEEPROCK,BRICKROCK"
|
||||||
"21";"21";"21";"BLOCK_STONE_MARBLE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"1";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.1";"ROCK,NATURAL,DEEPROCK"
|
"21";"21";"21";"BLOCK_STONE_MARBLE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"1";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.1";"ROCK,NATURAL,DEEPROCK"
|
||||||
|
|
||||||
# dirts
|
# dirts
|
||||||
|
|||||||
|
@@ -3,14 +3,15 @@
|
|||||||
"basegame:19": {
|
"basegame:19": {
|
||||||
"workbench": "masonry",
|
"workbench": "masonry",
|
||||||
"ingredients": [
|
"ingredients": [
|
||||||
[1, 1, "$ROCK"]
|
[1, 1, "$BRICKROCK"]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
/* white stone tile */
|
/* white stone tile */
|
||||||
"basegame:18": {
|
"basegame:18": {
|
||||||
"workbench": "masonry",
|
"workbench": "masonry",
|
||||||
"ingredients": [
|
"ingredients": [
|
||||||
[1, 1, "basegame:21"]
|
[1, 1, "basegame:21"],
|
||||||
|
[1, 3, "$BRICKROCK"]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -51,6 +51,7 @@ id;classname;tags
|
|||||||
50;net.torvald.terrarum.modulebasegame.gameitems.ItemSolderingWire;
|
50;net.torvald.terrarum.modulebasegame.gameitems.ItemSolderingWire;
|
||||||
51;net.torvald.terrarum.modulebasegame.gameitems.ItemElectricWorkbench;FIXTURE,CRAFTING
|
51;net.torvald.terrarum.modulebasegame.gameitems.ItemElectricWorkbench;FIXTURE,CRAFTING
|
||||||
52;net.torvald.terrarum.modulebasegame.gameitems.ItemLogicSignalSevenSeg;FIXTURE,SIGNAL
|
52;net.torvald.terrarum.modulebasegame.gameitems.ItemLogicSignalSevenSeg;FIXTURE,SIGNAL
|
||||||
|
53;net.torvald.terrarum.modulebasegame.gameitems.ItemEngravingWorkbench;FIXTURE,CRAFTING
|
||||||
|
|
||||||
# ingots
|
# ingots
|
||||||
112;net.torvald.terrarum.modulebasegame.gameitems.IngotCopper;INGOT
|
112;net.torvald.terrarum.modulebasegame.gameitems.IngotCopper;INGOT
|
||||||
|
|||||||
|
@@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"CONTEXT_ENGRAVER_TEXT": "Text",
|
||||||
"CONTEXT_GENERATOR_SEED": "Seed",
|
"CONTEXT_GENERATOR_SEED": "Seed",
|
||||||
"CONTEXT_ITEM_FIXTURES": "Fixtures",
|
"CONTEXT_ITEM_FIXTURES": "Fixtures",
|
||||||
"CONTEXT_ITEM_MAP": "Map",
|
"CONTEXT_ITEM_MAP": "Map",
|
||||||
|
|||||||
@@ -5,11 +5,13 @@
|
|||||||
"ITEM_CHERRY_BOMB": "Bomb",
|
"ITEM_CHERRY_BOMB": "Bomb",
|
||||||
"ITEM_COAL_COKE": "Coal Coke",
|
"ITEM_COAL_COKE": "Coal Coke",
|
||||||
"ITEM_COPPER_BULB": "Copper Bulb",
|
"ITEM_COPPER_BULB": "Copper Bulb",
|
||||||
|
"ITEM_COPPER_SIGN": "Copper Sign",
|
||||||
"ITEM_DOOR_OAK": "Oak Door",
|
"ITEM_DOOR_OAK": "Oak Door",
|
||||||
"ITEM_DOOR_EBONY": "Ebony Door",
|
"ITEM_DOOR_EBONY": "Ebony Door",
|
||||||
"ITEM_DOOR_BIRCH": "Birch Door",
|
"ITEM_DOOR_BIRCH": "Birch Door",
|
||||||
"ITEM_DOOR_ROSEWOOD": "Rosewood Door",
|
"ITEM_DOOR_ROSEWOOD": "Rosewood Door",
|
||||||
"ITEM_ELECTRIC_WORKBENCH": "Electric Workbench",
|
"ITEM_ELECTRIC_WORKBENCH": "Electric Workbench",
|
||||||
|
"ITEM_ENGRAVING_WORKBENCH": "Engraving Workbench",
|
||||||
"ITEM_FURNACE_AND_ANVIL": "Furnace and Anvil",
|
"ITEM_FURNACE_AND_ANVIL": "Furnace and Anvil",
|
||||||
"ITEM_GEM_RUBY": "Raw Ruby",
|
"ITEM_GEM_RUBY": "Raw Ruby",
|
||||||
"ITEM_GEM_EMERALD": "Raw Emerald",
|
"ITEM_GEM_EMERALD": "Raw Emerald",
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"CONTEXT_ENGRAVER_TEXT": "문구",
|
||||||
"CONTEXT_GENERATOR_SEED": "시드",
|
"CONTEXT_GENERATOR_SEED": "시드",
|
||||||
"CONTEXT_ITEM_FIXTURES": "기구",
|
"CONTEXT_ITEM_FIXTURES": "기구",
|
||||||
"CONTEXT_ITEM_MAP": "지도",
|
"CONTEXT_ITEM_MAP": "지도",
|
||||||
|
|||||||
@@ -5,11 +5,13 @@
|
|||||||
"ITEM_CHERRY_BOMB": "폭탄",
|
"ITEM_CHERRY_BOMB": "폭탄",
|
||||||
"ITEM_COAL_COKE": "코크스",
|
"ITEM_COAL_COKE": "코크스",
|
||||||
"ITEM_COPPER_BULB": "구리 전구",
|
"ITEM_COPPER_BULB": "구리 전구",
|
||||||
|
"ITEM_COPPER_SIGN": "구리 간판",
|
||||||
"ITEM_DOOR_OAK": "나무 문",
|
"ITEM_DOOR_OAK": "나무 문",
|
||||||
"ITEM_DOOR_EBONY": "흑단 문",
|
"ITEM_DOOR_EBONY": "흑단 문",
|
||||||
"ITEM_DOOR_BIRCH": "백단 문",
|
"ITEM_DOOR_BIRCH": "백단 문",
|
||||||
"ITEM_DOOR_ROSEWOOD": "자단 문",
|
"ITEM_DOOR_ROSEWOOD": "자단 문",
|
||||||
"ITEM_ELECTRIC_WORKBENCH": "전기 작업대",
|
"ITEM_ELECTRIC_WORKBENCH": "전기 작업대",
|
||||||
|
"ITEM_ENGRAVING_WORKBENCH": "조각 작업대",
|
||||||
"ITEM_FURNACE_AND_ANVIL": "화로와 모루",
|
"ITEM_FURNACE_AND_ANVIL": "화로와 모루",
|
||||||
"ITEM_GEM_RUBY": "홍옥석",
|
"ITEM_GEM_RUBY": "홍옥석",
|
||||||
"ITEM_GEM_EMERALD": "취옥석",
|
"ITEM_GEM_EMERALD": "취옥석",
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import net.torvald.terrarum.gameactors.AVKey
|
|||||||
import net.torvald.terrarum.langpack.Lang
|
import net.torvald.terrarum.langpack.Lang
|
||||||
import net.torvald.terrarum.modulebasegame.gameitems.FixtureItemBase
|
import net.torvald.terrarum.modulebasegame.gameitems.FixtureItemBase
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UICrafting
|
import net.torvald.terrarum.modulebasegame.ui.UICrafting
|
||||||
|
import net.torvald.terrarum.modulebasegame.ui.UIEngravingTextSign
|
||||||
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -59,3 +60,29 @@ class FixtureElectricWorkbench : FixtureBase, CraftingStation {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by minjaesong on 2024-03-22.
|
||||||
|
*/
|
||||||
|
class FixtureEngravingWorkbench : FixtureBase, CraftingStation {
|
||||||
|
|
||||||
|
@Transient override val tags = listOf("engraving")
|
||||||
|
|
||||||
|
constructor() : super(
|
||||||
|
BlockBox(BlockBox.NO_COLLISION, 2, 2),
|
||||||
|
nameFun = { Lang["ITEM_ENGRAVING_WORKBENCH"] },
|
||||||
|
mainUI = UIEngravingTextSign()
|
||||||
|
) {
|
||||||
|
val itemImage = FixtureItemBase.getItemImageFromSingleImage("basegame", "sprites/fixtures/engraving_workbench.tga")
|
||||||
|
|
||||||
|
density = BlockCodex[Block.PLANK_NORMAL].density.toDouble()
|
||||||
|
setHitboxDimension(itemImage.texture.width, itemImage.texture.height, 0, 0)
|
||||||
|
|
||||||
|
makeNewSprite(TextureRegionPack(itemImage.texture, 32, 32)).let {
|
||||||
|
it.setRowsAndFrames(1,1)
|
||||||
|
}
|
||||||
|
|
||||||
|
actorValue[AVKey.BASEMASS] = 40.0
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -36,3 +36,20 @@ class ItemElectricWorkbench(originalID: ItemID) : FixtureItemBase(originalID, "n
|
|||||||
override var originalName = "ITEM_ELECTRIC_WORKBENCH"
|
override var originalName = "ITEM_ELECTRIC_WORKBENCH"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by minjaesong on 2024-03-22.
|
||||||
|
*/
|
||||||
|
class ItemEngravingWorkbench(originalID: ItemID) : FixtureItemBase(originalID, "net.torvald.terrarum.modulebasegame.gameactors.FixtureEngravingWorkbench") {
|
||||||
|
|
||||||
|
|
||||||
|
override var baseMass = 40.0
|
||||||
|
override val canBeDynamic = false
|
||||||
|
override val materialId = ""
|
||||||
|
override val itemImage: TextureRegion
|
||||||
|
get() = getItemImageFromSheet("basegame", "sprites/fixtures/engraving_workbench.tga", 32, 32, 0, 0)
|
||||||
|
|
||||||
|
override var baseToolSize: Double? = baseMass
|
||||||
|
override var originalName = "ITEM_ENGRAVING_WORKBENCH"
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -325,6 +325,8 @@ class UIAlloyingFurnace(val smelter: FixtureAlloyingFurnace) : UICanvas(
|
|||||||
|
|
||||||
|
|
||||||
override fun renderImpl(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) {
|
override fun renderImpl(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) {
|
||||||
|
UIInventoryFull.drawBackground(batch, opacity)
|
||||||
|
|
||||||
val clickedOn = clickedOnState.get() / SmelterGuiEventBuilder.SLOT_INDEX_STRIDE
|
val clickedOn = clickedOnState.get() / SmelterGuiEventBuilder.SLOT_INDEX_STRIDE
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,200 @@
|
|||||||
|
package net.torvald.terrarum.modulebasegame.ui
|
||||||
|
|
||||||
|
import com.badlogic.gdx.graphics.Color
|
||||||
|
import com.badlogic.gdx.graphics.OrthographicCamera
|
||||||
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||||
|
import net.torvald.terrarum.*
|
||||||
|
import net.torvald.terrarum.App.printdbg
|
||||||
|
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
|
||||||
|
import net.torvald.terrarum.blockproperties.Block
|
||||||
|
import net.torvald.terrarum.langpack.Lang
|
||||||
|
import net.torvald.terrarum.modulebasegame.gameactors.ActorInventory
|
||||||
|
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory
|
||||||
|
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
||||||
|
import net.torvald.terrarum.ui.*
|
||||||
|
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
||||||
|
import net.torvald.unicode.getKeycapPC
|
||||||
|
import kotlin.math.roundToInt
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by minjaesong on 2024-03-22.
|
||||||
|
*/
|
||||||
|
class UIEngravingTextSign : UICanvas(
|
||||||
|
toggleKeyLiteral = "control_key_inventory",
|
||||||
|
toggleButtonLiteral = "control_gamepad_start"
|
||||||
|
) {
|
||||||
|
|
||||||
|
init {
|
||||||
|
CommonResourcePool.addToLoadingList("spritesheet:copper_sign") {
|
||||||
|
TextureRegionPack(ModMgr.getGdxFile("basegame", "sprites/fixtures/text_sign_glass_copper.tga"), TILE_SIZE, TILE_SIZE)
|
||||||
|
}
|
||||||
|
CommonResourcePool.loadAll()
|
||||||
|
}
|
||||||
|
|
||||||
|
private val signSheet = CommonResourcePool.getAsTextureRegionPack("spritesheet:copper_sign")
|
||||||
|
|
||||||
|
override var width = Toolkit.drawWidth
|
||||||
|
override var height = App.scr.height
|
||||||
|
|
||||||
|
fun getPlayerInventory(): ActorInventory = INGAME.actorNowPlaying!!.inventory
|
||||||
|
|
||||||
|
private val row0 = App.scr.halfh + 48
|
||||||
|
private val row1 = row0 + 60
|
||||||
|
private val row2 = row1 + 40
|
||||||
|
|
||||||
|
private val row3 = maxOf(UIInventoryFull.yEnd.toInt() - 20 - 36, row2 + 64)
|
||||||
|
|
||||||
|
private val goButtonWidth = 180
|
||||||
|
|
||||||
|
private val internalWidth = 480
|
||||||
|
private val drawX = (Toolkit.drawWidth - internalWidth) / 2
|
||||||
|
private val inputWidth = 350
|
||||||
|
private val spinnerWidth = ControlPanelCommon.CONFIG_SPINNER_WIDTH
|
||||||
|
private val ingredientsWidth = UIItemInventoryElemSimple.height * 3 + 16
|
||||||
|
private val inputX = drawX + internalWidth - inputWidth + 5
|
||||||
|
|
||||||
|
private val textInput = UIItemTextLineInput(this, inputX, row0, inputWidth)
|
||||||
|
|
||||||
|
private val COPPER_BULB = "item@basegame:35"
|
||||||
|
private val ROCK_TILE = Block.STONE_TILE_WHITE
|
||||||
|
private val GLASS = Block.GLASS_CRUDE
|
||||||
|
|
||||||
|
private fun setIngredient(num: Int) {
|
||||||
|
ingredients.clear()
|
||||||
|
ingredients.add(GLASS, num * 2L)
|
||||||
|
ingredients.add(ROCK_TILE, num * 1L)
|
||||||
|
ingredients.add(COPPER_BULB, num * 1L)
|
||||||
|
ingredientsPanel.rebuild(UIItemCatBar.FILTER_CAT_ALL)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun refreshCraftButtonStatus() {
|
||||||
|
val player = getPlayerInventory()
|
||||||
|
val canCraft = ingredients.all {
|
||||||
|
(player.searchByID(it.itm)?.qty ?: 0L) >= it.qty
|
||||||
|
}
|
||||||
|
goButton.isEnabled = canCraft
|
||||||
|
}
|
||||||
|
|
||||||
|
private val ingredients = FixtureInventory() // this one is definitely not to be changed
|
||||||
|
private val ingredientsPanel = UIItemInventoryItemGrid(
|
||||||
|
this,
|
||||||
|
{ ingredients },
|
||||||
|
drawX,
|
||||||
|
row2,
|
||||||
|
3, 1,
|
||||||
|
drawScrollOnRightside = false,
|
||||||
|
drawWallet = false,
|
||||||
|
hideSidebar = true,
|
||||||
|
colourTheme = UIItemInventoryCellCommonRes.defaultInventoryCellTheme.copy(
|
||||||
|
cellHighlightSubCol = Toolkit.Theme.COL_INACTIVE
|
||||||
|
),
|
||||||
|
keyDownFun = { _, _, _, _, _ -> },
|
||||||
|
wheelFun = { _, _, _, _, _, _ -> },
|
||||||
|
touchDownFun = { _, _, _, _, _ -> },
|
||||||
|
).also {
|
||||||
|
it.isCompactMode = true
|
||||||
|
}
|
||||||
|
|
||||||
|
private val panelCountSpinner = UIItemSpinner(this, inputX + inputWidth - ingredientsWidth, row2 - 1, 2, 2, 32, 1, spinnerWidth, numberToTextFunction = { "${it.toDouble().roundToInt()}" }).also {
|
||||||
|
it.selectionChangeListener = { num0 ->
|
||||||
|
val num = num0.toInt()
|
||||||
|
setIngredient(num)
|
||||||
|
refreshCraftButtonStatus()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private val goButton = UIItemTextButton(this,
|
||||||
|
{ Lang["GAME_ACTION_CRAFT"] }, (width - goButtonWidth) / 2, row3, goButtonWidth, alignment = UIItemTextButton.Companion.Alignment.CENTRE, hasBorder = true).also {
|
||||||
|
|
||||||
|
it.clickOnceListener = { _, _ ->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun resetUI() {
|
||||||
|
panelCountSpinner.resetToSmallest()
|
||||||
|
textInput.clearText()
|
||||||
|
setIngredient(panelCountSpinner.value.toInt())
|
||||||
|
refreshCraftButtonStatus()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun show() {
|
||||||
|
super.show()
|
||||||
|
tooltipShowing.clear()
|
||||||
|
INGAME.setTooltipMessage(null)
|
||||||
|
resetUI()
|
||||||
|
}
|
||||||
|
|
||||||
|
init {
|
||||||
|
addUIitem(textInput)
|
||||||
|
addUIitem(panelCountSpinner)
|
||||||
|
addUIitem(ingredientsPanel)
|
||||||
|
addUIitem(goButton)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun updateImpl(delta: Float) {
|
||||||
|
uiItems.forEach { it.update(delta) }
|
||||||
|
}
|
||||||
|
|
||||||
|
private val halfSlotOffset = (UIItemInventoryElemSimple.height + UIItemInventoryItemGrid.listGap) / 2
|
||||||
|
private val thisOffsetX = UIInventoryFull.INVENTORY_CELLS_OFFSET_X() + UIItemInventoryElemSimple.height + UIItemInventoryItemGrid.listGap - halfSlotOffset
|
||||||
|
|
||||||
|
private val controlHelp: String
|
||||||
|
get() = if (App.environment == RunningEnvironment.PC)
|
||||||
|
"${getKeycapPC(ControlPresets.getKey("control_key_inventory"))} ${Lang["GAME_ACTION_CLOSE"]}"
|
||||||
|
else
|
||||||
|
"${App.gamepadLabelStart} ${Lang["GAME_ACTION_CLOSE"]}"
|
||||||
|
|
||||||
|
override fun renderImpl(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) {
|
||||||
|
UIInventoryFull.drawBackground(batch, opacity)
|
||||||
|
|
||||||
|
// paint UI elements
|
||||||
|
uiItems.forEach { it.render(frameDelta, batch, camera) }
|
||||||
|
|
||||||
|
// paint labels
|
||||||
|
batch.color = Color.WHITE
|
||||||
|
|
||||||
|
val controlHintXPos = thisOffsetX + 2f
|
||||||
|
blendNormalStraightAlpha(batch)
|
||||||
|
App.fontGame.draw(batch, controlHelp, controlHintXPos, UIInventoryFull.yEnd - 20)
|
||||||
|
|
||||||
|
App.fontGame.draw(batch, Lang["CONTEXT_ENGRAVER_TEXT"], drawX, row0)
|
||||||
|
Toolkit.drawTextCentered(batch, App.fontGame, Lang["MENU_OPTIONS_SIZE"], spinnerWidth, panelCountSpinner.posX, row1)
|
||||||
|
Toolkit.drawTextCentered(batch, App.fontGame, Lang["GAME_INVENTORY_INGREDIENTS"], ingredientsWidth, ingredientsPanel.posX, row1)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun dispose() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
override fun doOpening(delta: Float) {
|
||||||
|
super.doOpening(delta)
|
||||||
|
INGAME.setTooltipMessage(null)
|
||||||
|
INGAME.pause()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun doClosing(delta: Float) {
|
||||||
|
super.doClosing(delta)
|
||||||
|
INGAME.setTooltipMessage(null)
|
||||||
|
INGAME.resume()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun endOpening(delta: Float) {
|
||||||
|
super.endOpening(delta)
|
||||||
|
tooltipShowing.clear()
|
||||||
|
INGAME.setTooltipMessage(null) // required!
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun endClosing(delta: Float) {
|
||||||
|
super.endClosing(delta)
|
||||||
|
resetUI()
|
||||||
|
tooltipShowing.clear()
|
||||||
|
INGAME.setTooltipMessage(null) // required!
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -312,6 +312,8 @@ class UISmelterBasic(val smelter: FixtureSmelterBasic) : UICanvas(
|
|||||||
|
|
||||||
|
|
||||||
override fun renderImpl(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) {
|
override fun renderImpl(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) {
|
||||||
|
UIInventoryFull.drawBackground(batch, opacity)
|
||||||
|
|
||||||
val clickedOn = clickedOnState.get() / SLOT_INDEX_STRIDE
|
val clickedOn = clickedOnState.get() / SLOT_INDEX_STRIDE
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -314,7 +314,7 @@ class UIItemCatBar(
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private val labelCol = Color(0xe0e0e0ff.toInt())
|
private val labelCol = Color(0xe8e8e8ff.toInt())
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user