ingame uis will blur the background

This commit is contained in:
minjaesong
2021-09-09 22:16:56 +09:00
parent edd454e1d5
commit 5050935847
7 changed files with 39 additions and 24 deletions

View File

@@ -184,7 +184,7 @@ class TitleScreen(batch: SpriteBatch) : IngameInstance(batch) {
// fake UI for blur
uiFakeBlurOverlay = UIFakeBlurOverlay()
uiFakeBlurOverlay = UIFakeBlurOverlay(2f, false)
uiFakeBlurOverlay.setPosition(0,0)
uiContainer.add(uiFakeBlurOverlay)

View File

@@ -1,9 +1,9 @@
package net.torvald.terrarum
import com.badlogic.gdx.graphics.*
import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.OrthographicCamera
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.glutils.FrameBuffer
import net.torvald.terrarum.modulebasegame.IngameRenderer
import net.torvald.terrarum.ui.Toolkit
import net.torvald.terrarum.ui.UICanvas
@@ -43,7 +43,7 @@ class UIFakeGradOverlay : UICanvas() {
override fun dispose() {}
}
class UIFakeBlurOverlay : UICanvas() {
class UIFakeBlurOverlay(val blurRadius: Float, val nodarken: Boolean) : UICanvas() {
override var width: Int
get() = App.scr.width
@@ -61,13 +61,15 @@ class UIFakeBlurOverlay : UICanvas() {
override fun updateUI(delta: Float) {}
override fun renderUI(batch: SpriteBatch, camera: Camera) {
Toolkit.blurEntireScreen(batch, camera as OrthographicCamera, 2f,0, 0, width, height)
Toolkit.blurEntireScreen(batch, camera as OrthographicCamera, blurRadius, 0, 0, width, height)
blendMul(batch)
batch.color = darken
batch.fillRect(0f, 0f, width.toFloat(), height.toFloat())
if (!nodarken) {
blendMul(batch)
batch.color = darken
batch.fillRect(0f, 0f, width.toFloat(), height.toFloat())
blendNormal(batch)
blendNormal(batch)
}
}
override fun doOpening(delta: Float) {}

View File

@@ -140,9 +140,10 @@ open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) {
}
lateinit var uiPieMenu: UICanvas
lateinit var uiQuickBar: UICanvas
lateinit var uiInventoryPlayer: UICanvas
lateinit var uiBlur: UIFakeBlurOverlay
lateinit var uiPieMenu: UIQuickslotPie
lateinit var uiQuickBar: UIQuickslotBar
lateinit var uiInventoryPlayer: UIInventoryFull
/**
* This is a dedicated property for the fixtures' UI.
*
@@ -166,7 +167,6 @@ open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) {
}
}
lateinit var uiInventoryContainer: UICanvas
lateinit var uiVitalPrimary: UICanvas
lateinit var uiVitalSecondary: UICanvas
lateinit var uiVitalItem: UICanvas // itemcount/durability of held block or active ammo of held gun. As for the block, max value is 500.
@@ -366,6 +366,10 @@ open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) {
//uiVitalItem = UIVitalMetre(player, { null }, { null }, Color(0xffcc00), 0, customPositioning = true)
//uiVitalItem.setAsAlwaysVisible()
// fake UI for blurring the background
uiBlur = UIFakeBlurOverlay(1f, true)
uiBlur.setPosition(0,0)
uiWatchTierOne = UITierOneWatch()
uiWatchTierOne.setAsAlwaysVisible()
uiWatchTierOne.setPosition(
@@ -391,6 +395,8 @@ open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) {
//uiVitalSecondary,
//uiVitalItem,
uiBlur,
uiPieMenu,
uiQuickBar,
uiBasicInfo,
@@ -627,6 +633,14 @@ open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) {
//uiContainer.forEach { it.update(delta) }
//debugWindow.update(delta)
//notifier.update(delta)
// open/close fake blur UI according to what's opened
if (uiInventoryPlayer.isVisible ||
getUIFixture.get()?.isVisible == true) {
uiBlur.setAsOpen()
}
else {
uiBlur.setAsClose()
}
// update debuggers using javax.swing //
if (Authenticator.b()) {

View File

@@ -13,6 +13,5 @@ object ExportCodices : ConsoleCommand {
}
override fun printUsage() {
TODO("Not yet implemented")
}
}

View File

@@ -18,9 +18,6 @@ import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.INVENTOR
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.INVENTORY_CELLS_OFFSET_Y
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.catBarWidth
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.controlHelpHeight
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.gradEndCol
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.gradHeight
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.gradStartCol
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.internalHeight
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.internalWidth
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryItemGrid.Companion.listGap
@@ -191,7 +188,7 @@ internal class UIStorageChest : UICanvas(
override fun renderUI(batch: SpriteBatch, camera: Camera) {
// background fill
batch.end()
/*batch.end()
gdxSetBlendNormal()
@@ -210,7 +207,7 @@ internal class UIStorageChest : UICanvas(
batch.begin()
batch.begin()*/
// UI items
batch.color = Color.WHITE

View File

@@ -2,12 +2,14 @@ package net.torvald.terrarum.modulebasegame.ui
import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.OrthographicCamera
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.terrarum.App
import net.torvald.terrarum.Second
import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.fillRect
import net.torvald.terrarum.langpack.Lang
import net.torvald.terrarum.ui.Toolkit
import net.torvald.terrarum.ui.UICanvas
/**
@@ -33,6 +35,7 @@ class UICheatDetected : UICanvas() {
Terrarum.ingame?.consoleHandler?.setAsClose()
Terrarum.ingame?.consoleHandler?.isVisible = false
Toolkit.blurEntireScreen(batch, camera as OrthographicCamera, 2f, 0, 0, width, height)
batch.color = backgroundCol
batch.fillRect(0f, 0f, width.toFloat(), height.toFloat())

View File

@@ -1,6 +1,7 @@
package net.torvald.terrarum.modulebasegame.ui
import com.badlogic.gdx.graphics.*
import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.glutils.ShapeRenderer
import net.torvald.ENDASH
@@ -10,7 +11,8 @@ import net.torvald.terrarum.blockstats.MinimapComposer
import net.torvald.terrarum.langpack.Lang
import net.torvald.terrarum.modulebasegame.TerrarumIngame
import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid
import net.torvald.terrarum.ui.*
import net.torvald.terrarum.ui.UICanvas
import net.torvald.terrarum.ui.UIItemHorizontalFadeSlide
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
/**
@@ -180,8 +182,6 @@ class UIInventoryFull(
override fun renderUI(batch: SpriteBatch, camera: Camera) {
Toolkit.blurEntireScreen(batch, camera as OrthographicCamera, 1f,0, 0, width, height)
// background fill
batch.end()
gdxSetBlendNormal()