[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / model / mapper / ItemMapper.kt
diff --git a/core/src/ru/deadsoftware/cavedroid/game/model/mapper/ItemMapper.kt b/core/src/ru/deadsoftware/cavedroid/game/model/mapper/ItemMapper.kt
index ad79cbd824e01f6b0308f3d04e190f9952f16f29..7646e22d70b756cb07082b2f6425b3eff03a0659 100644 (file)
@Reusable
class ItemMapper @Inject constructor() {
- fun map(key: String, dto: ItemDto, block: Block?): Item {
+ fun map(key: String, dto: ItemDto, block: Block?, slabTopBlock: Block.Slab?, slabBottomBlock: Block.Slab?): Item {
val params = mapCommonParams(key, dto)
return when (dto.type) {
"bucket" -> Bucket(params, requireNotNull(loadSprite(dto)), requireNotNull(dto.actionKey))
"shovel" -> Shovel(params, requireNotNull(loadSprite(dto)), dto.mobDamageMultiplier, dto.blockDamageMultiplier)
"sword" -> Sword(params, requireNotNull(loadSprite(dto)), dto.mobDamageMultiplier, dto.blockDamageMultiplier)
- "block" -> Placeable(params, requireNotNull(block))
+ "block" -> Block(params, requireNotNull(block))
+ "slab" -> Slab(params, requireNotNull(slabTopBlock), requireNotNull(slabBottomBlock))
"none" -> None(params)
else -> throw IllegalArgumentException("Unknown item type ${dto.type}")
}