mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-12 03:24:06 +09:00
fix: scroll controller for portal listing is 2 px shorter that it should
This commit is contained in:
@@ -2,6 +2,7 @@ package net.torvald.terrarum.modulebasegame.gameactors
|
|||||||
|
|
||||||
import net.torvald.terrarum.gameactors.AVKey
|
import net.torvald.terrarum.gameactors.AVKey
|
||||||
import net.torvald.terrarum.langpack.Lang
|
import net.torvald.terrarum.langpack.Lang
|
||||||
|
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory.Companion.CAPACITY_MODE_WEIGHT
|
||||||
import net.torvald.terrarum.modulebasegame.gameitems.FixtureItemBase
|
import net.torvald.terrarum.modulebasegame.gameitems.FixtureItemBase
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIWorldPortal
|
import net.torvald.terrarum.modulebasegame.ui.UIWorldPortal
|
||||||
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
||||||
@@ -14,9 +15,14 @@ class FixtureWorldPortal : FixtureBase {
|
|||||||
constructor() : super(
|
constructor() : super(
|
||||||
BlockBox(BlockBox.NO_COLLISION, 5, 2),
|
BlockBox(BlockBox.NO_COLLISION, 5, 2),
|
||||||
nameFun = { Lang["ITEM_WORLD_PORTAL"] },
|
nameFun = { Lang["ITEM_WORLD_PORTAL"] },
|
||||||
mainUI = UIWorldPortal()
|
mainUI = UIWorldPortal(),
|
||||||
|
inventory = FixtureInventory(200, CAPACITY_MODE_WEIGHT)
|
||||||
) {
|
) {
|
||||||
// TODO do something with (mainUI as UIWorldPortal).***
|
// TODO do something with (mainUI as UIWorldPortal).***
|
||||||
|
(mainUI as UIWorldPortal).let { ui ->
|
||||||
|
ui.transitionalCargo.chestInventory = this.inventory!!
|
||||||
|
ui.transitionalCargo.chestNameFun = this.nameFun
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -67,9 +67,9 @@ class UIWorldPortal : UICanvas(
|
|||||||
"$SP${App.gamepadLabelRT} ${Lang["GAME_INVENTORY"]}"
|
"$SP${App.gamepadLabelRT} ${Lang["GAME_INVENTORY"]}"
|
||||||
|
|
||||||
|
|
||||||
private val transitionalSearch = UIWorldPortalSearch(this)
|
val transitionalSearch = UIWorldPortalSearch(this)
|
||||||
private val transitionalListing = UIWorldPortalListing(this)
|
val transitionalListing = UIWorldPortalListing(this)
|
||||||
private val transitionalCargo = UIWorldPortalCargo(this)
|
val transitionalCargo = UIWorldPortalCargo(this)
|
||||||
private val transitionPanel = UIItemHorizontalFadeSlide(
|
private val transitionPanel = UIItemHorizontalFadeSlide(
|
||||||
this,
|
this,
|
||||||
(width - internalWidth) / 2,
|
(width - internalWidth) / 2,
|
||||||
|
|||||||
@@ -3,14 +3,36 @@ package net.torvald.terrarum.modulebasegame.ui
|
|||||||
import com.badlogic.gdx.graphics.Camera
|
import com.badlogic.gdx.graphics.Camera
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||||
import net.torvald.terrarum.App
|
import net.torvald.terrarum.App
|
||||||
|
import net.torvald.terrarum.INGAME
|
||||||
|
import net.torvald.terrarum.gameitems.GameItem
|
||||||
|
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory
|
||||||
import net.torvald.terrarum.ui.Toolkit
|
import net.torvald.terrarum.ui.Toolkit
|
||||||
import net.torvald.terrarum.ui.UICanvas
|
import net.torvald.terrarum.ui.UICanvas
|
||||||
|
|
||||||
class UIWorldPortalCargo(val full: UIWorldPortal) : UICanvas() {
|
class UIWorldPortalCargo(val full: UIWorldPortal) : UICanvas(), HasInventory {
|
||||||
|
|
||||||
override var width: Int = Toolkit.drawWidth
|
override var width: Int = Toolkit.drawWidth
|
||||||
override var height: Int = App.scr.height
|
override var height: Int = App.scr.height
|
||||||
|
|
||||||
|
lateinit var chestInventory: FixtureInventory
|
||||||
|
lateinit var chestNameFun: () -> String
|
||||||
|
|
||||||
|
private val negotiator = object : InventoryTransactionNegotiator() {
|
||||||
|
override fun accept(player: FixtureInventory, fixture: FixtureInventory, item: GameItem, amount: Long) {
|
||||||
|
player.remove(item, amount)
|
||||||
|
fixture.add(item, amount)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun reject(fixture: FixtureInventory, player: FixtureInventory, item: GameItem, amount: Long) {
|
||||||
|
fixture.remove(item, amount)
|
||||||
|
player.add(item, amount)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun getNegotiator() = negotiator
|
||||||
|
override fun getFixtureInventory(): FixtureInventory = chestInventory
|
||||||
|
override fun getPlayerInventory(): FixtureInventory = INGAME.actorNowPlaying!!.inventory
|
||||||
|
|
||||||
override fun updateUI(delta: Float) {
|
override fun updateUI(delta: Float) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ class UIWorldPortalListing(val full: UIWorldPortal) : UICanvas() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private val navRemoCon = UIItemListNavBarVertical(full, hx + 6 + UIItemWorldCellsSimple.width, y + 7, listHeight, false)
|
private val navRemoCon = UIItemListNavBarVertical(full, hx + 6 + UIItemWorldCellsSimple.width, y + 7, listHeight + 2, false)
|
||||||
|
|
||||||
private val worldList = ArrayList<WorldInfo>()
|
private val worldList = ArrayList<WorldInfo>()
|
||||||
data class WorldInfo(
|
data class WorldInfo(
|
||||||
|
|||||||
Reference in New Issue
Block a user