X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2Frender%2FWindowsRenderer.kt;h=945bb1ec458991b9e4487636895f53914c77d376;hb=1e285247085ba04351feb486a0be6aa577f43093;hp=10c211a5ce801577d6b3d14cc513e942200de977;hpb=060595c8f929b1eba81653c5154f948fb12190ff;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/game/render/WindowsRenderer.kt b/core/src/ru/deadsoftware/cavedroid/game/render/WindowsRenderer.kt index 10c211a..945bb1e 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/render/WindowsRenderer.kt +++ b/core/src/ru/deadsoftware/cavedroid/game/render/WindowsRenderer.kt @@ -4,28 +4,35 @@ import com.badlogic.gdx.Gdx import com.badlogic.gdx.graphics.g2d.SpriteBatch import com.badlogic.gdx.graphics.glutils.ShapeRenderer import com.badlogic.gdx.math.Rectangle -import ru.deadsoftware.cavedroid.MainConfig import ru.deadsoftware.cavedroid.game.GameScope import ru.deadsoftware.cavedroid.game.GameUiWindow -import ru.deadsoftware.cavedroid.game.render.windows.CreativeWindowRenderer -import ru.deadsoftware.cavedroid.game.render.windows.SurvivalWindowRenderer +import ru.deadsoftware.cavedroid.game.render.windows.* +import ru.deadsoftware.cavedroid.game.ui.windows.GameWindowsManager +import ru.deadsoftware.cavedroid.misc.annotations.multibinding.BindRenderer import javax.inject.Inject @GameScope +@BindRenderer class WindowsRenderer @Inject constructor( - private val mainConfig: MainConfig, private val creativeWindowRenderer: CreativeWindowRenderer, private val survivalWindowRenderer: SurvivalWindowRenderer, + private val craftingWindowRenderer: CraftingWindowRenderer, + private val gameWindowsManager: GameWindowsManager, + private val furnaceWindowRenderer: FurnaceWindowRenderer, + private val chestWindowRenderer: ChestWindowRenderer, ) : IGameRenderer { override val renderLayer get() = RENDER_LAYER override fun draw(spriteBatch: SpriteBatch, shapeRenderer: ShapeRenderer, viewport: Rectangle, delta: Float) { - when (mainConfig.gameUiWindow) { + when (val windowType = gameWindowsManager.getCurrentWindow()) { GameUiWindow.CREATIVE_INVENTORY -> creativeWindowRenderer.draw(spriteBatch, shapeRenderer, viewport, delta) GameUiWindow.SURVIVAL_INVENTORY -> survivalWindowRenderer.draw(spriteBatch, shapeRenderer, viewport, delta) + GameUiWindow.CRAFTING_TABLE -> craftingWindowRenderer.draw(spriteBatch, shapeRenderer, viewport, delta) + GameUiWindow.FURNACE -> furnaceWindowRenderer.draw(spriteBatch, shapeRenderer, viewport, delta) + GameUiWindow.CHEST -> chestWindowRenderer.draw(spriteBatch, shapeRenderer, viewport, delta) GameUiWindow.NONE -> return - else -> Gdx.app.error(TAG, "Cannot draw window: ${mainConfig.gameUiWindow.name}") + else -> Gdx.app.error(TAG, "Cannot draw window: ${windowType.name}") } }