mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-19 06:54:05 +09:00
com.torvald → net.torvald
Former-commit-id: 375604da8a20a6ba7cd0a8d05a44add02b2d04f4 Former-commit-id: 287287c5920b07618174d7a7573f049d350ded66
This commit is contained in:
27
src/net/torvald/terrarum/realestate/RealEstateCodex.kt
Normal file
27
src/net/torvald/terrarum/realestate/RealEstateCodex.kt
Normal file
@@ -0,0 +1,27 @@
|
||||
package net.torvald.terrarum.realestate
|
||||
|
||||
import java.io.Serializable
|
||||
import java.util.*
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 16-03-27.
|
||||
*/
|
||||
object RealEstateCodex {
|
||||
/**
|
||||
* HashMap<Absolute tile number, Actor/Faction ID>
|
||||
*
|
||||
* Note that a tile can have only ONE owner (as an Actor or Faction ID)
|
||||
*/
|
||||
private var ownershipRegistry: HashMap<Long, Long> = HashMap()
|
||||
|
||||
fun setOwner(tileX: Int, tileY: Int, refID: Long) {
|
||||
ownershipRegistry[RealEstateUtility.getAbsoluteTileNumber(tileX, tileY)] = refID
|
||||
}
|
||||
|
||||
fun removeOwner(tileX: Int, tileY: Int) {
|
||||
ownershipRegistry.remove(RealEstateUtility.getAbsoluteTileNumber(tileX, tileY))
|
||||
}
|
||||
|
||||
fun getOwner(tileX: Int, tileY: Int): Long? =
|
||||
ownershipRegistry[RealEstateUtility.getAbsoluteTileNumber(tileX, tileY)]
|
||||
}
|
||||
14
src/net/torvald/terrarum/realestate/RealEstateUtility.kt
Normal file
14
src/net/torvald/terrarum/realestate/RealEstateUtility.kt
Normal file
@@ -0,0 +1,14 @@
|
||||
package net.torvald.terrarum.realestate
|
||||
|
||||
import net.torvald.terrarum.Terrarum
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 16-03-27.
|
||||
*/
|
||||
object RealEstateUtility {
|
||||
fun getAbsoluteTileNumber(x: Int, y: Int): Long =
|
||||
(Terrarum.game.map.width * y).toLong() + x
|
||||
|
||||
fun resolveAbsoluteTileNumber(t: Long): Pair<Int, Int> =
|
||||
Pair((t % Terrarum.game.map.width).toInt(), (t / Terrarum.game.map.width).toInt())
|
||||
}
|
||||
Reference in New Issue
Block a user