DEADSOFTWARE

Add RenderModule code generation
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / render / ForegroundBlocksRenderer.kt
1 package ru.deadsoftware.cavedroid.game.render
3 import com.badlogic.gdx.graphics.g2d.SpriteBatch
4 import com.badlogic.gdx.graphics.glutils.ShapeRenderer
5 import com.badlogic.gdx.math.Rectangle
6 import ru.deadsoftware.cavedroid.game.GameScope
7 import ru.deadsoftware.cavedroid.game.mobs.MobsController
8 import ru.deadsoftware.cavedroid.game.world.GameWorld
9 import ru.deadsoftware.cavedroid.misc.utils.forEachBlockInArea
10 import javax.inject.Inject
12 @GameScope
13 @GameRenderer
14 class ForegroundBlocksRenderer @Inject constructor(
15 gameWorld: GameWorld,
16 mobsController: MobsController
17 ) : BlocksRenderer(gameWorld, mobsController) {
19 override val renderLayer get() = RENDER_LAYER
21 override val background = false
23 override fun draw(spriteBatch: SpriteBatch, shapeRenderer: ShapeRenderer, viewport: Rectangle, delta: Float) {
24 forEachBlockInArea(viewport) { x, y ->
25 drawForeMap(spriteBatch, viewport, x, y)
26 }
27 drawBlockDamage(spriteBatch, viewport)
28 }
30 companion object {
31 private const val RENDER_LAYER = 100400
32 }
33 }