mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-06 08:38:30 +09:00
fix: multimeter's block cursor would break fixture ghost
This commit is contained in:
@@ -66,6 +66,13 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"item@basegame:7": { /* multimeter */
|
||||||
|
"workbench": "soldering",
|
||||||
|
"ingredients": [
|
||||||
|
[2, 5, "item@basegame:112", 5, "item@basegame:117", 5, "item@basegame:177", 5, "$SEMICONDUCTOR", 1, "item@basegame:50"] /* 5 copper, 5 gold, 5 brass, 5 iron, 5 tin, 1 soldering wire (temporary) */
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
"item@basegame:35": { /* copper bulb */
|
"item@basegame:35": { /* copper bulb */
|
||||||
"workbench": "soldering",
|
"workbench": "soldering",
|
||||||
"ingredients": [
|
"ingredients": [
|
||||||
|
|||||||
@@ -187,7 +187,6 @@ open class IngameInstance(val batch: FlippingSpriteBatch, val isMultiplayer: Boo
|
|||||||
|
|
||||||
blockMarkingActor.let {
|
blockMarkingActor.let {
|
||||||
it.unsetGhost()
|
it.unsetGhost()
|
||||||
it.setGhostColourNone()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gameInitialised = true
|
gameInitialised = true
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import kotlin.math.floor
|
|||||||
class BlockMarkerActor : ActorWithBody(Actor.RenderOrder.OVERLAY, physProp = PhysProperties.MOBILE_OBJECT()), NoSerialise {
|
class BlockMarkerActor : ActorWithBody(Actor.RenderOrder.OVERLAY, physProp = PhysProperties.MOBILE_OBJECT()), NoSerialise {
|
||||||
|
|
||||||
enum class MarkerMode {
|
enum class MarkerMode {
|
||||||
FIXTURE_GHOST, BLOCK_MARKER
|
FIXTURE_GHOST, BLOCK_MARKER, HIDDEN
|
||||||
}
|
}
|
||||||
|
|
||||||
private val defaultSize = 16.0
|
private val defaultSize = 16.0
|
||||||
@@ -45,12 +45,14 @@ class BlockMarkerActor : ActorWithBody(Actor.RenderOrder.OVERLAY, physProp = Phy
|
|||||||
|
|
||||||
|
|
||||||
init {
|
init {
|
||||||
this.isVisible = false
|
this.isVisible = true
|
||||||
renderOrder = Actor.RenderOrder.OVERLAY // for some reason the constructor didn't work
|
renderOrder = Actor.RenderOrder.OVERLAY // for some reason the constructor didn't work
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
override fun drawBody(frameDelta: Float, batch: SpriteBatch) {
|
override fun drawBody(frameDelta: Float, batch: SpriteBatch) {
|
||||||
|
this.isVisible = true
|
||||||
|
|
||||||
if (isVisible) {
|
if (isVisible) {
|
||||||
if (markerMode == MarkerMode.FIXTURE_GHOST) {
|
if (markerMode == MarkerMode.FIXTURE_GHOST) {
|
||||||
if (INGAME.actorNowPlaying != null) {
|
if (INGAME.actorNowPlaying != null) {
|
||||||
@@ -114,6 +116,16 @@ class BlockMarkerActor : ActorWithBody(Actor.RenderOrder.OVERLAY, physProp = Phy
|
|||||||
ghost = null
|
ghost = null
|
||||||
setGhostColourNone()
|
setGhostColourNone()
|
||||||
hitbox.setDimension(TILE_SIZED, TILE_SIZED)
|
hitbox.setDimension(TILE_SIZED, TILE_SIZED)
|
||||||
|
markerMode = MarkerMode.HIDDEN
|
||||||
|
}
|
||||||
|
|
||||||
|
fun hideMarker() {
|
||||||
|
unsetGhost()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun showMarker(shape: Int) {
|
||||||
|
markerShape = shape
|
||||||
|
markerMode = MarkerMode.BLOCK_MARKER
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setGhostColourNone() { ghostColour = Color.WHITE }
|
fun setGhostColourNone() { ghostColour = Color.WHITE }
|
||||||
|
|||||||
@@ -93,7 +93,6 @@ open class FixtureItemBase(originalID: ItemID, val fixtureClassName: String) : G
|
|||||||
|
|
||||||
(INGAME as TerrarumIngame).blockMarkingActor.let {
|
(INGAME as TerrarumIngame).blockMarkingActor.let {
|
||||||
it.unsetGhost()
|
it.unsetGhost()
|
||||||
it.setGhostColourNone()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -37,9 +37,8 @@ class WireGraphDebugger(originalID: ItemID) : GameItem(originalID) {
|
|||||||
override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) {
|
override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) {
|
||||||
(Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = "wire_render_all"
|
(Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = "wire_render_all"
|
||||||
|
|
||||||
blockMarker.markerShape = 3
|
blockMarker.showMarker(3)
|
||||||
blockMarker.markerColour = Color.YELLOW
|
blockMarker.markerColour = Color.YELLOW
|
||||||
blockMarker.isVisible = true
|
|
||||||
blockMarker.update(delta)
|
blockMarker.update(delta)
|
||||||
|
|
||||||
val mx = Terrarum.mouseTileX
|
val mx = Terrarum.mouseTileX
|
||||||
@@ -77,7 +76,7 @@ class WireGraphDebugger(originalID: ItemID) : GameItem(originalID) {
|
|||||||
override fun effectOnUnequip(actor: ActorWithBody) {
|
override fun effectOnUnequip(actor: ActorWithBody) {
|
||||||
(Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = ""
|
(Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = ""
|
||||||
(Terrarum.ingame!! as TerrarumIngame).setTooltipMessage(null)
|
(Terrarum.ingame!! as TerrarumIngame).setTooltipMessage(null)
|
||||||
blockMarker.isVisible = false
|
blockMarker.hideMarker()
|
||||||
UIItemInventoryCellCommonRes.tooltipShowing.remove(tooltipHash)
|
UIItemInventoryCellCommonRes.tooltipShowing.remove(tooltipHash)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user