mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-14 20:44:05 +09:00
inventoryItem -> gameItem
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user