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 // fake UI for blur
uiFakeBlurOverlay = UIFakeBlurOverlay() uiFakeBlurOverlay = UIFakeBlurOverlay(2f, false)
uiFakeBlurOverlay.setPosition(0,0) uiFakeBlurOverlay.setPosition(0,0)
uiContainer.add(uiFakeBlurOverlay) uiContainer.add(uiFakeBlurOverlay)

View File

@@ -1,9 +1,9 @@
package net.torvald.terrarum 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.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.Toolkit
import net.torvald.terrarum.ui.UICanvas import net.torvald.terrarum.ui.UICanvas
@@ -43,7 +43,7 @@ class UIFakeGradOverlay : UICanvas() {
override fun dispose() {} override fun dispose() {}
} }
class UIFakeBlurOverlay : UICanvas() { class UIFakeBlurOverlay(val blurRadius: Float, val nodarken: Boolean) : UICanvas() {
override var width: Int override var width: Int
get() = App.scr.width get() = App.scr.width
@@ -61,13 +61,15 @@ class UIFakeBlurOverlay : UICanvas() {
override fun updateUI(delta: Float) {} override fun updateUI(delta: Float) {}
override fun renderUI(batch: SpriteBatch, camera: Camera) { 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) if (!nodarken) {
batch.color = darken blendMul(batch)
batch.fillRect(0f, 0f, width.toFloat(), height.toFloat()) batch.color = darken
batch.fillRect(0f, 0f, width.toFloat(), height.toFloat())
blendNormal(batch) blendNormal(batch)
}
} }
override fun doOpening(delta: Float) {} override fun doOpening(delta: Float) {}

View File

@@ -140,9 +140,10 @@ open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) {
} }
lateinit var uiPieMenu: UICanvas lateinit var uiBlur: UIFakeBlurOverlay
lateinit var uiQuickBar: UICanvas lateinit var uiPieMenu: UIQuickslotPie
lateinit var uiInventoryPlayer: UICanvas lateinit var uiQuickBar: UIQuickslotBar
lateinit var uiInventoryPlayer: UIInventoryFull
/** /**
* This is a dedicated property for the fixtures' UI. * 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 uiVitalPrimary: UICanvas
lateinit var uiVitalSecondary: 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. 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 = UIVitalMetre(player, { null }, { null }, Color(0xffcc00), 0, customPositioning = true)
//uiVitalItem.setAsAlwaysVisible() //uiVitalItem.setAsAlwaysVisible()
// fake UI for blurring the background
uiBlur = UIFakeBlurOverlay(1f, true)
uiBlur.setPosition(0,0)
uiWatchTierOne = UITierOneWatch() uiWatchTierOne = UITierOneWatch()
uiWatchTierOne.setAsAlwaysVisible() uiWatchTierOne.setAsAlwaysVisible()
uiWatchTierOne.setPosition( uiWatchTierOne.setPosition(
@@ -391,6 +395,8 @@ open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) {
//uiVitalSecondary, //uiVitalSecondary,
//uiVitalItem, //uiVitalItem,
uiBlur,
uiPieMenu, uiPieMenu,
uiQuickBar, uiQuickBar,
uiBasicInfo, uiBasicInfo,
@@ -627,6 +633,14 @@ open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) {
//uiContainer.forEach { it.update(delta) } //uiContainer.forEach { it.update(delta) }
//debugWindow.update(delta) //debugWindow.update(delta)
//notifier.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 // // update debuggers using javax.swing //
if (Authenticator.b()) { if (Authenticator.b()) {

View File

@@ -13,6 +13,5 @@ object ExportCodices : ConsoleCommand {
} }
override fun printUsage() { 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.INVENTORY_CELLS_OFFSET_Y
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.catBarWidth 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.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.internalHeight
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.internalWidth import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.internalWidth
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryItemGrid.Companion.listGap import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryItemGrid.Companion.listGap
@@ -191,7 +188,7 @@ internal class UIStorageChest : UICanvas(
override fun renderUI(batch: SpriteBatch, camera: Camera) { override fun renderUI(batch: SpriteBatch, camera: Camera) {
// background fill // background fill
batch.end() /*batch.end()
gdxSetBlendNormal() gdxSetBlendNormal()
@@ -210,7 +207,7 @@ internal class UIStorageChest : UICanvas(
batch.begin() batch.begin()*/
// UI items // UI items
batch.color = Color.WHITE 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.Camera
import com.badlogic.gdx.graphics.Color import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.OrthographicCamera
import com.badlogic.gdx.graphics.g2d.SpriteBatch import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.terrarum.App import net.torvald.terrarum.App
import net.torvald.terrarum.Second import net.torvald.terrarum.Second
import net.torvald.terrarum.Terrarum import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.fillRect import net.torvald.terrarum.fillRect
import net.torvald.terrarum.langpack.Lang import net.torvald.terrarum.langpack.Lang
import net.torvald.terrarum.ui.Toolkit
import net.torvald.terrarum.ui.UICanvas import net.torvald.terrarum.ui.UICanvas
/** /**
@@ -33,6 +35,7 @@ class UICheatDetected : UICanvas() {
Terrarum.ingame?.consoleHandler?.setAsClose() Terrarum.ingame?.consoleHandler?.setAsClose()
Terrarum.ingame?.consoleHandler?.isVisible = false Terrarum.ingame?.consoleHandler?.isVisible = false
Toolkit.blurEntireScreen(batch, camera as OrthographicCamera, 2f, 0, 0, width, height)
batch.color = backgroundCol batch.color = backgroundCol
batch.fillRect(0f, 0f, width.toFloat(), height.toFloat()) batch.fillRect(0f, 0f, width.toFloat(), height.toFloat())

View File

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