X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2Fmodel%2Fmapper%2FBlockMapper.kt;h=2ec9727748b3860071fd3738c46603f28caa3a0d;hb=9606fce8cc7c9b264abd7cb38583faaebb610540;hp=667d92b0e897975a5ea05e75dcc304680fe97c8f;hpb=a21a93fd9fa33adebe52d1f4478866dcc3b66d96;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/game/model/mapper/BlockMapper.kt b/core/src/ru/deadsoftware/cavedroid/game/model/mapper/BlockMapper.kt index 667d92b..2ec9727 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/model/mapper/BlockMapper.kt +++ b/core/src/ru/deadsoftware/cavedroid/game/model/mapper/BlockMapper.kt @@ -8,10 +8,13 @@ import ru.deadsoftware.cavedroid.game.model.block.Block.* import ru.deadsoftware.cavedroid.game.model.dto.BlockDto import ru.deadsoftware.cavedroid.game.model.item.Item import ru.deadsoftware.cavedroid.misc.Assets +import ru.deadsoftware.cavedroid.misc.utils.AssetLoader import javax.inject.Inject @Reusable -class BlockMapper @Inject constructor() { +class BlockMapper @Inject constructor( + private val assetLoader: AssetLoader, +) { fun map(key: String, dto: BlockDto): Block { val commonBlockParams = mapCommonParams(key, dto) @@ -20,6 +23,7 @@ class BlockMapper @Inject constructor() { "water" -> Water(commonBlockParams, requireNotNull(dto.state)) "lava" -> Lava(commonBlockParams, requireNotNull(dto.state)) "slab" -> Slab(commonBlockParams, requireNotNull(dto.fullBlock), requireNotNull(dto.otherPart)) + "furnace" -> Furnace(commonBlockParams) "none" -> None(commonBlockParams) else -> Normal(commonBlockParams) } @@ -27,7 +31,6 @@ class BlockMapper @Inject constructor() { private fun mapCommonParams(key: String, dto: BlockDto): CommonBlockParams { return CommonBlockParams( - id = dto.id, key = key, collisionMargins = BlockMargins( left = dto.left, @@ -51,6 +54,8 @@ class BlockMapper @Inject constructor() { ), toolLevel = dto.toolLevel, toolType = mapToolType(dto), + damage = dto.damage, + tint = dto.tint, ) } @@ -95,7 +100,7 @@ class BlockMapper @Inject constructor() { return null } - return Assets.blockTextures[textureName] + return Assets.resolveBlockTexture(assetLoader, textureName) } } \ No newline at end of file