Client Music Manager
Last updated
Last updated
The ClientMusicWorker
is responsible for managing the music within the game client.
Properties
private AudioSource audioSource
: References the AudioSource component used for playing music.
private List<AudioClip> currentAudioList, mainMusicList, travelMusicList, battleMusicList
: Represents the collections of audio clips for different contexts.
private MusicType musicType
: Represents current type of music being played.
private bool isMusicChanging
: Represents whether a music transition is in progress.
private MusicType latestRequestedMusicType
: Represents the most recently requested music type.
Methods
public void OnStart()
: Initiates music playback by calling ChangeMusic
.
public void OnUpdate()
: Checks if the music has stopped and, if so, starts a new track by calling ChangeMusic
at every frame.
private void UpdateMusicType(MusicType musicType)
: Updates the current music type and sets the currentAudioList
based on the new type.
public void ChangeMusicType(MusicType musicType)
: Initiates a change in the music type. If a transition is already in progress, it stores the requested type for later processing.
private IEnumerator ChangeMusic()
: A coroutine for changing the music. It fades out the current track, selects a new track from the appropriate list based on the current musicType
, and fades the new track in.
private List<AudioClip> GetAudioList()
: Returns the appropriate list of audio clips based on the current musicType
.