something's not right with tile numbering

This commit is contained in:
minjaesong
2021-02-20 15:10:47 +09:00
parent 295dd8b8d6
commit 463e59087c
6 changed files with 21 additions and 10 deletions

View File

@@ -147,6 +147,8 @@ open class GameWorld : Disposable {
tileNumberToNameMap = HashMap<Int, ItemID>()
tileNameToNumberMap = HashMap<ItemID, Int>()
CreateTileAtlas.tags.forEach {
printdbg(this, "tileNumber ${it.value.tileNumber} <-> tileName ${it.key}")
tileNumberToNameMap[it.value.tileNumber] = it.key
tileNameToNumberMap[it.key] = it.value.tileNumber
}
@@ -224,7 +226,14 @@ open class GameWorld : Disposable {
*/
fun getTileFromTerrain(rawX: Int, rawY: Int): ItemID {
val (x, y) = coerceXY(rawX, rawY)
return tileNumberToNameMap[layerTerrain.unsafeGetTile(x, y)]!!
try {
return tileNumberToNameMap[layerTerrain.unsafeGetTile(x, y)]!!
}
catch (e: NullPointerException) {
System.err.println("NPE for tilenum ${layerTerrain.unsafeGetTile(x, y)}")
throw e
}
}
/**