inventoryItem -> gameItem

This commit is contained in:
Song Minjae
2017-04-29 23:11:54 +09:00
parent 09b4e3719f
commit 9a819ffec3
17 changed files with 84 additions and 100 deletions

View File

@@ -5,7 +5,6 @@ import net.torvald.terrarum.ItemValue
import net.torvald.terrarum.gameactors.ActorInventory
import net.torvald.terrarum.gameactors.Pocketed
import net.torvald.terrarum.itemproperties.ItemCodex.ITEM_DYNAMIC
import net.torvald.terrarum.itemproperties.Material
import net.torvald.terrarum.langpack.Lang
import org.newdawn.slick.Color
import org.newdawn.slick.GameContainer
@@ -15,7 +14,7 @@ typealias ItemID = Int
/**
* Created by minjaesong on 16-01-16.
*/
abstract class InventoryItem : Comparable<InventoryItem>, Cloneable {
abstract class GameItem : Comparable<GameItem>, Cloneable {
abstract var dynamicID: ItemID
/**
@@ -110,7 +109,7 @@ abstract class InventoryItem : Comparable<InventoryItem>, Cloneable {
open var scale: Double = 1.0
/**
* Set to zero (InventoryItem.DURABILITY_NA) if durability not applicable
* Set to zero (GameItem.DURABILITY_NA) if durability not applicable
*/
open var maxDurability: Int = 0
@@ -183,7 +182,7 @@ abstract class InventoryItem : Comparable<InventoryItem>, Cloneable {
override fun equals(other: Any?): Boolean {
if (other == null) return false
return dynamicID == (other as InventoryItem).dynamicID
return dynamicID == (other as GameItem).dynamicID
}
fun unsetCustomName() {
@@ -192,7 +191,7 @@ abstract class InventoryItem : Comparable<InventoryItem>, Cloneable {
nameColour = Color.white
}
override fun compareTo(other: InventoryItem): Int = (this.dynamicID - other.dynamicID).sign()
override fun compareTo(other: GameItem): Int = (this.dynamicID - other.dynamicID).sign()
fun Int.sign(): Int = if (this > 0) 1 else if (this < 0) -1 else 0
@@ -243,17 +242,17 @@ abstract class InventoryItem : Comparable<InventoryItem>, Cloneable {
@JvmStatic val MISC = "misc"
}
override public fun clone(): InventoryItem {
override public fun clone(): GameItem {
val clonedItem = super.clone()
// properly clone ItemValue
(clonedItem as InventoryItem).itemProperties = this.itemProperties.clone()
(clonedItem as GameItem).itemProperties = this.itemProperties.clone()
return clonedItem
}
fun generateUniqueDynamicID(inventory: ActorInventory): InventoryItem {
dynamicID = InventoryItem.generateUniqueDynamicID(inventory)
fun generateUniqueDynamicID(inventory: ActorInventory): GameItem {
dynamicID = GameItem.generateUniqueDynamicID(inventory)
return this
}

View File

@@ -24,7 +24,7 @@ object ItemCodex {
* <ItemID or RefID for Actor, TheItem>
* Will return corresponding Actor if ID >= ACTORID_MIN
*/
private val itemCodex = HashMap<ItemID, InventoryItem>()
private val itemCodex = HashMap<ItemID, GameItem>()
private val dynamicItemDescription = HashMap<ItemID, KVHashMap>()
val ITEM_TILES = 0..GameWorld.TILES_SUPPORTED - 1
@@ -42,7 +42,7 @@ object ItemCodex {
// blocks.csvs are loaded by ModMgr beforehand
// block items (blocks and walls are the same thing basically)
for (i in ITEM_TILES + ITEM_WALLS) {
itemCodex[i] = object : InventoryItem() {
itemCodex[i] = object : GameItem() {
override val originalID = i
override var dynamicID = i
override val isUnique: Boolean = false
@@ -108,7 +108,7 @@ object ItemCodex {
}
// test copper pickaxe
/*itemCodex[ITEM_STATIC.first] = object : InventoryItem() {
/*itemCodex[ITEM_STATIC.first] = object : GameItem() {
override val originalID = ITEM_STATIC.first
override var dynamicID = originalID
override val isUnique = false
@@ -173,7 +173,7 @@ object ItemCodex {
/**
* Returns clone of the item in the Codex
*/
operator fun get(code: ItemID): InventoryItem {
operator fun get(code: ItemID): GameItem {
if (code <= ITEM_STATIC.endInclusive) // generic item
return itemCodex[code]!!.clone() // from CSV
else if (code <= ITEM_DYNAMIC.endInclusive) {
@@ -190,11 +190,11 @@ object ItemCodex {
/**
* Mainly used by GameItemLoader
*/
operator fun set(code: ItemID, item: InventoryItem) {
operator fun set(code: ItemID, item: GameItem) {
itemCodex[code] = item
}
fun getItemImage(item: InventoryItem): Image {
fun getItemImage(item: GameItem): Image {
// terrain
if (item.originalID in ITEM_TILES) {
return BlocksDrawer.tilesTerrain.getSubImage(