SettingsPanelUI (Panel)

Overview

Modal Settings panel that pauses gameplay, disables time controls, and initializes Music and SFX sliders from PlayerPrefs. Dismissing the panel resumes gameplay and re-enables time controls.

Serialized

  • Atoms: BoolVariable paused, VoidEvent enableTimeControls, VoidEvent disableTimeControls
  • GameObjects: settingsPanel, saveAndQuitPanel
  • Sliders: sfxVolumeSlider, musicVolumeSlider

Behavior

  • OnEnable()
    • Reads MUSIC_VOLUME and SFX_VOLUME (defaults 1f) → sets sliders.
    • disableTimeControls.Raise() and paused.SetValue(true, true).
    • Shows settingsPanel, hides saveAndQuitPanel.
  • OnDenyButtonPressed()
    • paused.SetValue(false, true), enableTimeControls.Raise(), and deactivates the panel’s GameObject.

Notes

  • This panel does not write volumes; wire slider callbacks to your audio manager (e.g., FMOD bus setters) to persist on change.