mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-08 04:41:51 +09:00
making wire actor's hitbox bigger so their disappearance on the screen edge won't be visible
This commit is contained in:
@@ -1613,7 +1613,7 @@ open class ActorWithBody(renderOrder: RenderOrder, val physProp: PhysProperties)
|
||||
}
|
||||
}
|
||||
|
||||
private fun drawSpriteInGoodPosition(sprite: SpriteAnimation, batch: SpriteBatch) {
|
||||
protected fun drawSpriteInGoodPosition(sprite: SpriteAnimation, batch: SpriteBatch) {
|
||||
if (world == null) return
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package net.torvald.terrarum.gameactors
|
||||
|
||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||
import net.torvald.terrarum.AppLoader.printdbg
|
||||
import net.torvald.terrarum.BlendMode
|
||||
import net.torvald.terrarum.CommonResourcePool
|
||||
import net.torvald.terrarum.Point2i
|
||||
import net.torvald.terrarum.Terrarum
|
||||
@@ -38,6 +40,8 @@ class WireActor(id: ActorID) : ActorWithBody(RenderOrder.WIRES, PhysProperties.I
|
||||
* @param itemID must start with "wire@"
|
||||
*/
|
||||
fun setWire(itemID: ItemID, worldX: Int, worldY: Int) {
|
||||
setHitboxDimension(TILE_SIZE, TILE_SIZE, 0, 0)
|
||||
|
||||
if (oldWireId != itemID) {
|
||||
if (sprite == null) {
|
||||
makeNewSprite(CommonResourcePool.getAsTextureRegionPack(itemID))
|
||||
@@ -50,7 +54,7 @@ class WireActor(id: ActorID) : ActorWithBody(RenderOrder.WIRES, PhysProperties.I
|
||||
}
|
||||
this.worldX = worldX
|
||||
this.worldY = worldY
|
||||
setPosition(worldX * TILE_SIZE + 1.0, (worldY + 1.0) * TILE_SIZE - 1.0) // what the fuck?
|
||||
setPosition((worldX + 0.5) * TILE_SIZE, (worldY + 1.0) * TILE_SIZE - 1.0) // what the fuck?
|
||||
|
||||
sprite!!.currentRow = 1
|
||||
|
||||
@@ -77,4 +81,10 @@ class WireActor(id: ActorID) : ActorWithBody(RenderOrder.WIRES, PhysProperties.I
|
||||
|
||||
}
|
||||
|
||||
override fun drawBody(batch: SpriteBatch) {
|
||||
if (isVisible && sprite != null) {
|
||||
BlendMode.resolve(drawMode, batch)
|
||||
drawSpriteInGoodPosition(sprite!!, batch)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -80,6 +80,8 @@ class BasicDebugInfoWindow : UICanvas() {
|
||||
|
||||
val hitbox = player?.hitbox
|
||||
|
||||
val updateCount = maxOf(1L, (AppLoader.debugTimers["Ingame.UpdateCounter"] ?: 1L) as Long)
|
||||
|
||||
/**
|
||||
* First column
|
||||
*/
|
||||
@@ -123,8 +125,8 @@ class BasicDebugInfoWindow : UICanvas() {
|
||||
printLine(batch, 5, "p_WalkX $ccG${player.controllerV?.x}")
|
||||
printLine(batch, 6, "p_WalkY $ccG${player.controllerV?.y}")
|
||||
|
||||
printLineColumn(batch, 2, 3, "veloX measured $ccG${xdelta}")
|
||||
printLineColumn(batch, 2, 4, "veloY measured $ccG${ydelta}")
|
||||
printLineColumn(batch, 2, 3, "veloX measured $ccG${xdelta / updateCount}")
|
||||
printLineColumn(batch, 2, 4, "veloY measured $ccG${ydelta / updateCount}")
|
||||
|
||||
printLineColumn(batch, 1, 7,
|
||||
"walled " +
|
||||
|
||||
Reference in New Issue
Block a user