1 package ru.fredboy.cavedroid.ux.physics.task
3 import com.badlogic.gdx.utils.Timer
4 import ru.fredboy.cavedroid.common.di.GameScope
5 import ru.fredboy.cavedroid.common.utils.forEachBlockInArea
6 import ru.fredboy.cavedroid.game.controller.mob.MobController
7 import ru.fredboy.cavedroid.game.world.GameWorld
8 import javax.inject.Inject
12 class GameWorldMobDamageControllerTask @Inject constructor(
13 private val mobController: MobController,
14 private val gameWorld: GameWorld,
19 yield(mobController.player)
20 yieldAll(mobController.mobs)
22 forEachBlockInArea(mob) { x, y ->
23 val foregroundBlock = gameWorld.getForeMap(x, y)
24 val backgroundBlock = gameWorld.getBackMap(x, y)
26 val damage = max(foregroundBlock.params.damage, backgroundBlock.params.damage)
37 const val ENVIRONMENTAL_MOB_DAMAGE_INTERVAL_SEC = 0.5f