terrain damage data is now properly removed when the tile is newly placed

This commit is contained in:
Song Minjae
2017-04-19 03:03:53 +09:00
parent a88f5ba4ec
commit 9427293d7d
5 changed files with 16 additions and 14 deletions

View File

@@ -7,8 +7,8 @@ import net.torvald.terrarum.gameworld.TileAddress
/**
* Created by minjaesong on 16-03-27.
*/
object RealEstateUtility {
fun getAbsoluteTileNumber(x: Int, y: Int): TileAddress =
object LandUtil {
fun getTileAddr(x: Int, y: Int): TileAddress =
(Terrarum.ingame!!.world.width * y).toLong() + x
fun resolveAbsoluteTileNumber(t: TileAddress): Pair<Int, Int> =

View File

@@ -15,13 +15,13 @@ object RealEstateCodex {
private var ownershipRegistry: HashMap<Long, Int> = HashMap()
fun setOwner(tileX: Int, tileY: Int, refID: Int) {
ownershipRegistry[RealEstateUtility.getAbsoluteTileNumber(tileX, tileY)] = refID
ownershipRegistry[LandUtil.getTileAddr(tileX, tileY)] = refID
}
fun removeOwner(tileX: Int, tileY: Int) {
ownershipRegistry.remove(RealEstateUtility.getAbsoluteTileNumber(tileX, tileY))
ownershipRegistry.remove(LandUtil.getTileAddr(tileX, tileY))
}
fun getOwner(tileX: Int, tileY: Int): Int? =
ownershipRegistry[RealEstateUtility.getAbsoluteTileNumber(tileX, tileY)]
ownershipRegistry[LandUtil.getTileAddr(tileX, tileY)]
}