GameMusicManager
Overview
Bridges gameplay with FMOD music parameters via a reusable SFXSingle music emitter. Subscribes to Atoms events to tweak soundtrack layers (Event Music, Capture) and exposes helpers for victory/defeat stingers. Also listens for a Play Main Menu Music event to start the theme. fileciteturn7file0
Serialized References
- SFXSingle
musicSFX— FMOD event wrapper used for the music instance. - FloatEvent
changeEventMusicParameter— drives the “Event Music” FMOD parameter. - FloatEvent
changeCaptureParameter— drives the “Capture” FMOD parameter. - VoidEvent
playMainMenuMusic— triggersPlayMusic(). fileciteturn7file0
Lifecycle
- Start()
- Registers:
changeEventMusicParameter → ChangeEventMusicParameter(float)changeCaptureParameter → ChangeCaptureParameter(float)playMainMenuMusic → PlayMusic()
- Registers:
- OnDestroy()
- Unregisters the float events (
changeEventMusicParameter,changeCaptureParameter). fileciteturn7file0
- Unregisters the float events (
Public API
void PlayMusic(); // musicSFX.Play()
void ChangeEventMusicParameter(float v); // Set "Event Music" to v
void ChangeCaptureParameter(float v); // Set "Capture" to v
public void ChangeVictoryParameter(); // Set "victory - lose" to 1f
public void ChangeDefeatParameter(); // Set "victory - lose" to 2f
All setters forward to musicSFX.SetCustomParameter(paramName, value). fileciteturn7file0
Integration Notes
- Call
playMainMenuMusic.Raise()from your menu flow to start the theme. - Pair with TimeManager (not shown here) to reset event music parameter to 0 when resuming gameplay. fileciteturn7file0