DEADSOFTWARE

Update version script
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / model / mapper / BlockMapper.kt
diff --git a/core/src/ru/deadsoftware/cavedroid/game/model/mapper/BlockMapper.kt b/core/src/ru/deadsoftware/cavedroid/game/model/mapper/BlockMapper.kt
deleted file mode 100644 (file)
index cae219f..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-package ru.deadsoftware.cavedroid.game.model.mapper
-
-import com.badlogic.gdx.graphics.Texture
-import dagger.Reusable
-import ru.deadsoftware.cavedroid.game.GameItemsHolder
-import ru.deadsoftware.cavedroid.game.model.block.*
-import ru.deadsoftware.cavedroid.game.model.block.Block.*
-import ru.deadsoftware.cavedroid.game.model.dto.BlockDto
-import ru.deadsoftware.cavedroid.misc.Assets
-import javax.inject.Inject
-
-@Reusable
-class BlockMapper @Inject constructor() {
-
-    fun map(key: String, dto: BlockDto): Block {
-        val commonBlockParams = mapCommonParams(key, dto)
-
-        return when (dto.meta) {
-            "water" -> Water(commonBlockParams, requireNotNull(dto.state))
-            "lava" -> Lava(commonBlockParams, requireNotNull(dto.state))
-            "slab" -> Slab(commonBlockParams, requireNotNull(dto.fullBlock))
-            "none" -> None(commonBlockParams)
-            else -> Normal(commonBlockParams)
-        }
-    }
-
-    private fun mapCommonParams(key: String, dto: BlockDto): CommonBlockParams {
-        return CommonBlockParams(
-            id = dto.id,
-            key = key,
-            collisionMargins = BlockMargins(
-                left = dto.left,
-                top = dto.top,
-                right = dto.right,
-                bottom = dto.bottom
-            ),
-            hitPoints = dto.hp,
-            dropInfo = mapBlockDropInfo(dto),
-            hasCollision = dto.collision,
-            isBackground = dto.background,
-            isTransparent = dto.transparent,
-            requiresBlock = dto.blockRequired,
-            animationInfo = mapBlockAnimationInfo(dto),
-            texture = loadTexture(dto.texture),
-            spriteMargins = BlockMargins(
-                left = dto.spriteLeft,
-                top = dto.spriteTop,
-                right = dto.spriteRight,
-                bottom = dto.spriteBottom,
-            )
-        )
-    }
-
-    private fun mapBlockDropInfo(dto: BlockDto): BlockDropInfo? {
-        val drop = dto.drop
-        val dropCount = dto.dropCount
-
-        if (drop == GameItemsHolder.FALLBACK_ITEM_KEY || dropCount == 0) {
-            return null
-        }
-
-        return BlockDropInfo(
-            itemKey = drop,
-            count = dropCount,
-        )
-    }
-
-    private fun mapBlockAnimationInfo(dto: BlockDto): BlockAnimationInfo? {
-        if (!dto.animated) {
-            return null
-        }
-
-        return BlockAnimationInfo(
-            framesCount = dto.frames,
-        )
-    }
-
-    private fun loadTexture(textureName: String): Texture? {
-        if (textureName == GameItemsHolder.FALLBACK_BLOCK_KEY) {
-            return null
-        }
-
-        return Assets.blockTextures[textureName]
-    }
-
-}
\ No newline at end of file