fix: actors having stale musictrack reference after the audioengine reloading

This commit is contained in:
minjaesong
2024-02-05 02:14:38 +09:00
parent cc00e1eff9
commit 839886531a
5 changed files with 72 additions and 19 deletions

View File

@@ -3,6 +3,9 @@ package net.torvald.terrarum.modulebasegame.ui
import com.badlogic.gdx.graphics.OrthographicCamera
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.terrarum.App
import net.torvald.terrarum.audio.TerrarumAudioMixerTrack
import net.torvald.terrarum.audio.TerrarumAudioMixerTrack.Companion.SAMPLING_RATE
import net.torvald.terrarum.audio.dsp.Lowpass
import net.torvald.terrarum.langpack.Lang
import net.torvald.terrarum.ui.UICanvas
@@ -53,10 +56,17 @@ class UISoundControlPanel(remoCon: UIRemoCon?) : UICanvas() {
}
override fun renderUI(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) {
// undo sound fadeout/muting when this panel is opened
if (handler.openCloseCounter == 0f && App.audioMixer.fadeBus.getFilter<Lowpass>().cutoff < SAMPLING_RATE / 2) {
App.audioMixer.requestLowpassOut(0.25)
App.audioMixer.requestFadeIn(App.audioMixer.fadeBus, 0.25, 1.0)
}
ControlPanelCommon.render("basegame.soundcontrolpanel", width, batch)
uiItems.forEach { it.render(frameDelta, batch, camera) }
}
override fun dispose() {
}
}