glow/emissive for held items, even if the actor has no glow/emissive sprites

This commit is contained in:
minjaesong
2024-01-27 03:21:26 +09:00
parent b02f4d7703
commit b1ca1a9351
26 changed files with 345 additions and 106 deletions

View File

@@ -135,6 +135,11 @@ class ItemCodex {
return getItemImageGlow(item.originalID)
}
fun getItemImageEmissive(item: GameItem?): TextureRegion? {
if (item == null) return null
return getItemImageEmissive(item.originalID)
}
fun getItemImage(itemID: ItemID?): TextureRegion? {
if (itemID == null) return null
@@ -193,6 +198,35 @@ class ItemCodex {
}
}
fun getItemImageEmissive(itemID: ItemID?): TextureRegion? {
if (itemID == null) return null
if (itemID.isDynamic()) {
return getItemImageEmissive(dynamicToStaticID(itemID))
}
else if (itemID.isItem()) {
return itemCodex[itemID]?.itemImageEmissive
}
else if (itemID.isWire()) {
return itemCodex[itemID]?.itemImageEmissive
}
else if (itemID.isWall()) {
val itemSheetNumber = App.tileMaker.tileIDtoItemSheetNumber(itemID.substring(5))
return BlocksDrawer.tileItemWallEmissive.get(
itemSheetNumber % App.tileMaker.TILES_IN_X,
itemSheetNumber / App.tileMaker.TILES_IN_X
)
}
// else: terrain
else {
val itemSheetNumber = App.tileMaker.tileIDtoItemSheetNumber(itemID)
return BlocksDrawer.tileItemTerrainEmissive.get(
itemSheetNumber % App.tileMaker.TILES_IN_X,
itemSheetNumber / App.tileMaker.TILES_IN_X
)
}
}
fun hasItem(itemID: ItemID): Boolean = dynamicItemInventory.containsKey(itemID)
fun isEmpty(): Boolean = itemCodex.isEmpty()
}