Added Music
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Serialization;
|
||||
|
||||
public class MusicManager : MonoBehaviour
|
||||
{
|
||||
@@ -8,8 +9,8 @@ public class MusicManager : MonoBehaviour
|
||||
{
|
||||
None,
|
||||
Cozy,
|
||||
Trash,
|
||||
TrashPlusBuilding,
|
||||
CozyPlusTrash,
|
||||
Building,
|
||||
TurnAround,
|
||||
TurnAroundPlusJeremyLives,
|
||||
FinaleBuildUp,
|
||||
@@ -20,61 +21,113 @@ public class MusicManager : MonoBehaviour
|
||||
|
||||
[SerializeField]
|
||||
private AudioSource _CozySource;
|
||||
|
||||
|
||||
[FormerlySerializedAs("_TrashSource")]
|
||||
[SerializeField]
|
||||
private AudioSource _TrashSource;
|
||||
|
||||
private AudioSource _AdditiveTrashSource;
|
||||
|
||||
[FormerlySerializedAs("_AdditiveBuildingSource")]
|
||||
[SerializeField]
|
||||
private AudioSource _AdditiveBuildingSource;
|
||||
|
||||
private AudioSource _BuildingSource;
|
||||
|
||||
[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);
|
||||
}
|
||||
currentTrack = track;
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
var fadeMultiplier = 0.2f;
|
||||
|
||||
if(currentTrack == Track.Cozy)
|
||||
|
||||
if (currentTrack is Track.CozyPlusTrash or Track.Cozy)
|
||||
{
|
||||
if (!_AdditiveTrashSource.isPlaying)
|
||||
_AdditiveTrashSource.Play();
|
||||
|
||||
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)
|
||||
if (_AdditiveTrashSource.volume == 0 && _AdditiveTrashSource.isPlaying)
|
||||
_AdditiveTrashSource.Stop();
|
||||
|
||||
if (_CozySource.volume == 0 && _CozySource.isPlaying)
|
||||
_CozySource.Stop();
|
||||
}
|
||||
|
||||
_AdditiveTrashSource.volume = currentTrack == Track.CozyPlusTrash ?
|
||||
Mathf.Clamp(_AdditiveTrashSource.volume + (fadeMultiplier * Time.deltaTime), 0, 1) :
|
||||
Mathf.Clamp(_AdditiveTrashSource.volume - (fadeMultiplier * Time.deltaTime), 0, 1);
|
||||
|
||||
_CozySource.volume = currentTrack is Track.CozyPlusTrash or Track.Cozy ?
|
||||
Mathf.Clamp(_CozySource.volume + (fadeMultiplier * Time.deltaTime), 0, 1) :
|
||||
Mathf.Clamp(_CozySource.volume - (fadeMultiplier * Time.deltaTime), 0, 1);
|
||||
|
||||
|
||||
if(currentTrack == Track.Building)
|
||||
{
|
||||
if (!_BuildingSource.isPlaying)
|
||||
_BuildingSource.Play();
|
||||
|
||||
_BuildingSource.volume = Mathf.Clamp(_BuildingSource.volume + (fadeMultiplier * Time.deltaTime), 0, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
_BuildingSource.volume = Mathf.Clamp(_BuildingSource.volume - (fadeMultiplier * Time.deltaTime), 0, 1);
|
||||
if (_BuildingSource.volume == 0 && _BuildingSource.isPlaying)
|
||||
_BuildingSource.Stop();
|
||||
}
|
||||
|
||||
|
||||
if (currentTrack is Track.TurnAround or Track.TurnAroundPlusJeremyLives)
|
||||
{
|
||||
if (!_TurnAroundSource.isPlaying)
|
||||
_TurnAroundSource.Play();
|
||||
|
||||
if(!_AdditiveJeremyLivesSource.isPlaying)
|
||||
_AdditiveJeremyLivesSource.Play();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_TurnAroundSource.volume == 0 && _TurnAroundSource.isPlaying)
|
||||
_TurnAroundSource.Stop();
|
||||
|
||||
if (_AdditiveJeremyLivesSource.volume == 0 && _AdditiveJeremyLivesSource.isPlaying)
|
||||
_AdditiveJeremyLivesSource.Stop();
|
||||
}
|
||||
|
||||
_TurnAroundSource.volume = currentTrack == Track.TurnAround || currentTrack == Track.TurnAroundPlusJeremyLives ?
|
||||
Mathf.Clamp(_TurnAroundSource.volume + (fadeMultiplier * Time.deltaTime), 0, 1) :
|
||||
Mathf.Clamp(_TurnAroundSource.volume - (fadeMultiplier * Time.deltaTime), 0, 1);
|
||||
|
||||
_AdditiveJeremyLivesSource.volume = currentTrack == Track.TurnAroundPlusJeremyLives ?
|
||||
Mathf.Clamp(_AdditiveJeremyLivesSource.volume + (fadeMultiplier * Time.deltaTime), 0, 1) :
|
||||
Mathf.Clamp(_AdditiveJeremyLivesSource.volume - (fadeMultiplier * Time.deltaTime), 0, 1);
|
||||
|
||||
|
||||
if(currentTrack == Track.FinaleBuildUp)
|
||||
{
|
||||
if (!_FinaleBuildUpSource.isPlaying)
|
||||
_FinaleBuildUpSource.Play();
|
||||
|
||||
_FinaleBuildUpSource.volume = Mathf.Clamp(_FinaleBuildUpSource.volume + (fadeMultiplier * Time.deltaTime), 0, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
_FinaleBuildUpSource.volume = Mathf.Clamp(_FinaleBuildUpSource.volume - (fadeMultiplier * Time.deltaTime), 0, 1);
|
||||
if (_FinaleBuildUpSource.volume == 0 && _FinaleBuildUpSource.isPlaying)
|
||||
_FinaleBuildUpSource.Stop();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
public class MusicManagerTest : MonoBehaviour
|
||||
{
|
||||
[SerializeField]
|
||||
private MusicManager.Track _track;
|
||||
|
||||
[SerializeField]
|
||||
private MusicManager _musicManager;
|
||||
|
||||
[ContextMenu("Switch Track")]
|
||||
public void SwitchTrack()
|
||||
{
|
||||
_musicManager.PlayMusic(_track);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3a80e8e583428c245b275b4d443ea8d9
|
||||
Reference in New Issue
Block a user