DEADSOFTWARE

Refactor rendering
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / render / WindowsRenderer.kt
1 package ru.deadsoftware.cavedroid.game.render
3 import com.badlogic.gdx.Gdx
4 import com.badlogic.gdx.graphics.g2d.SpriteBatch
5 import com.badlogic.gdx.graphics.glutils.ShapeRenderer
6 import com.badlogic.gdx.math.Rectangle
7 import ru.deadsoftware.cavedroid.MainConfig
8 import ru.deadsoftware.cavedroid.game.GameScope
9 import ru.deadsoftware.cavedroid.game.GameUiWindow
10 import ru.deadsoftware.cavedroid.game.render.windows.CreativeWindowRenderer
11 import javax.inject.Inject
13 @GameScope
14 class WindowsRenderer @Inject constructor(
15 private val mainConfig: MainConfig,
16 private val creativeWindowRenderer: CreativeWindowRenderer,
17 ) : IGameRenderer {
19 override val renderLayer get() = RENDER_LAYER
21 override fun draw(spriteBatch: SpriteBatch, shapeRenderer: ShapeRenderer, viewport: Rectangle, delta: Float) {
22 when (mainConfig.gameUiWindow) {
23 GameUiWindow.CREATIVE_INVENTORY -> creativeWindowRenderer.draw(spriteBatch, shapeRenderer, viewport, delta)
24 GameUiWindow.NONE -> return
25 else -> Gdx.app.error(TAG, "Cannot draw window: ${mainConfig.gameUiWindow.name}")
26 }
27 }
29 companion object {
30 private const val TAG = "WindowsRenderer"
32 const val RENDER_LAYER = 100600
33 }
34 }