You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Jeremy/Assets/Scripts/MusicManager.cs

81 lines
1.9 KiB

using System;
using System.Collections.Generic;
using UnityEngine;
public class MusicManager : MonoBehaviour
{
public enum Track
{
None,
Cozy,
Trash,
TrashPlusBuilding,
TurnAround,
TurnAroundPlusJeremyLives,
FinaleBuildUp,
}
private Track currentTrack = Track.None;
private List<AudioSource> currentlyPlaying = new();
[SerializeField]
private AudioSource _CozySource;
[SerializeField]
private AudioSource _TrashSource;
[SerializeField]
private AudioSource _AdditiveBuildingSource;
[SerializeField]
private AudioSource _TurnAroundSource;
[SerializeField]
private AudioSource _AdditiveJeremyLivesSource;
[SerializeField]
private AudioSource _FinaleBuildUpSource;
public void PlayMusic(Track track)
{
switch (track)
{
case Track.None:
break;
case Track.Cozy:
break;
case Track.Trash:
break;
case Track.TrashPlusBuilding:
break;
case Track.TurnAround:
break;
case Track.TurnAroundPlusJeremyLives:
break;
case Track.FinaleBuildUp:
break;
default:
throw new ArgumentOutOfRangeException(nameof(track), track, null);
}
}
private void Update()
{
var fadeMultiplier = 0.2f;
if(currentTrack == Track.Cozy)
{
if(!_CozySource.isPlaying)
_CozySource.Play();
_CozySource.volume = Mathf.Clamp(_CozySource.volume + (fadeMultiplier * Time.deltaTime),0,1);
}
else
{
_CozySource.volume = Mathf.Clamp(_CozySource.volume - (fadeMultiplier * Time.deltaTime),0,1);
if(_CozySource.volume == 0 && _CozySource.isPlaying)
_CozySource.Stop();
}
}
}