Implemented pauses on AudioManager
This commit is contained in:
@@ -1,5 +1,38 @@
|
|||||||
%YAML 1.1
|
%YAML 1.1
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!243 &-6354048548703642832
|
||||||
|
AudioMixerGroupController:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: FlavorVO
|
||||||
|
m_AudioMixer: {fileID: 24100000}
|
||||||
|
m_GroupID: d96f2f2d9081a2b4680e4cc99ae6dde2
|
||||||
|
m_Children: []
|
||||||
|
m_Volume: 8b556d01082609a41b5e0ac71387eb2b
|
||||||
|
m_Pitch: 543e5193b3b867a4a9e179b532d94963
|
||||||
|
m_Send: 00000000000000000000000000000000
|
||||||
|
m_Effects:
|
||||||
|
- {fileID: 2755879577735596061}
|
||||||
|
m_UserColorIndex: 0
|
||||||
|
m_Mute: 0
|
||||||
|
m_Solo: 0
|
||||||
|
m_BypassEffects: 0
|
||||||
|
--- !u!244 &-2388863367724940654
|
||||||
|
AudioMixerEffectController:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name:
|
||||||
|
m_EffectID: 70589a6f94c3a7e4f985d76dc20fec7d
|
||||||
|
m_EffectName: Attenuation
|
||||||
|
m_MixLevel: 1017da8a9e9644f46a2582f97a979436
|
||||||
|
m_Parameters: []
|
||||||
|
m_SendTarget: {fileID: 0}
|
||||||
|
m_EnableWetMix: 0
|
||||||
|
m_Bypass: 0
|
||||||
--- !u!243 &-1208528772216134639
|
--- !u!243 &-1208528772216134639
|
||||||
AudioMixerGroupController:
|
AudioMixerGroupController:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -19,6 +52,25 @@ AudioMixerGroupController:
|
|||||||
m_Mute: 0
|
m_Mute: 0
|
||||||
m_Solo: 0
|
m_Solo: 0
|
||||||
m_BypassEffects: 0
|
m_BypassEffects: 0
|
||||||
|
--- !u!243 &-281949353495416486
|
||||||
|
AudioMixerGroupController:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: CriticalVO
|
||||||
|
m_AudioMixer: {fileID: 24100000}
|
||||||
|
m_GroupID: 0564b669f5b88d74fbf644daddff7659
|
||||||
|
m_Children: []
|
||||||
|
m_Volume: b5a4611797e711d4384da7546db03ad4
|
||||||
|
m_Pitch: 6b6c6926b5cf7d64e8546ad727cd1b56
|
||||||
|
m_Send: 00000000000000000000000000000000
|
||||||
|
m_Effects:
|
||||||
|
- {fileID: 4434749241126400044}
|
||||||
|
m_UserColorIndex: 0
|
||||||
|
m_Mute: 0
|
||||||
|
m_Solo: 0
|
||||||
|
m_BypassEffects: 0
|
||||||
--- !u!241 &24100000
|
--- !u!241 &24100000
|
||||||
AudioMixerController:
|
AudioMixerController:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -41,6 +93,9 @@ AudioMixerController:
|
|||||||
- 18a903247b220fb47b8e743f756a2d19
|
- 18a903247b220fb47b8e743f756a2d19
|
||||||
- 7e41227c6d9a65c4898080710c015deb
|
- 7e41227c6d9a65c4898080710c015deb
|
||||||
- 93449300145f3ff4c9f21b59e4c06cb8
|
- 93449300145f3ff4c9f21b59e4c06cb8
|
||||||
|
- 0564b669f5b88d74fbf644daddff7659
|
||||||
|
- d96f2f2d9081a2b4680e4cc99ae6dde2
|
||||||
|
- 69e7e2391e0225240b94aab8ac4968dd
|
||||||
name: View
|
name: View
|
||||||
m_CurrentViewIndex: 0
|
m_CurrentViewIndex: 0
|
||||||
m_TargetSnapshot: {fileID: 24500006}
|
m_TargetSnapshot: {fileID: 24500006}
|
||||||
@@ -56,6 +111,7 @@ AudioMixerGroupController:
|
|||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: -1208528772216134639}
|
- {fileID: -1208528772216134639}
|
||||||
- {fileID: 1171626333864818265}
|
- {fileID: 1171626333864818265}
|
||||||
|
- {fileID: 5060278701334990569}
|
||||||
- {fileID: 3533147658878909314}
|
- {fileID: 3533147658878909314}
|
||||||
m_Volume: 59834639f5649d34cbb5ed8055029b93
|
m_Volume: 59834639f5649d34cbb5ed8055029b93
|
||||||
m_Pitch: 2c79200ddd7bbf244bc5980d7fbb6e1c
|
m_Pitch: 2c79200ddd7bbf244bc5980d7fbb6e1c
|
||||||
@@ -124,6 +180,20 @@ AudioMixerGroupController:
|
|||||||
m_Mute: 0
|
m_Mute: 0
|
||||||
m_Solo: 0
|
m_Solo: 0
|
||||||
m_BypassEffects: 0
|
m_BypassEffects: 0
|
||||||
|
--- !u!244 &2755879577735596061
|
||||||
|
AudioMixerEffectController:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: Attenuation
|
||||||
|
m_EffectID: 938281aaf51dfdb448130f1d299a9c32
|
||||||
|
m_EffectName: Attenuation
|
||||||
|
m_MixLevel: ba6923d75c4220e4bab55e5aa6eab3ea
|
||||||
|
m_Parameters: []
|
||||||
|
m_SendTarget: {fileID: 0}
|
||||||
|
m_EnableWetMix: 0
|
||||||
|
m_Bypass: 0
|
||||||
--- !u!243 &3533147658878909314
|
--- !u!243 &3533147658878909314
|
||||||
AudioMixerGroupController:
|
AudioMixerGroupController:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -133,7 +203,9 @@ AudioMixerGroupController:
|
|||||||
m_Name: Voice Over
|
m_Name: Voice Over
|
||||||
m_AudioMixer: {fileID: 24100000}
|
m_AudioMixer: {fileID: 24100000}
|
||||||
m_GroupID: 7e41227c6d9a65c4898080710c015deb
|
m_GroupID: 7e41227c6d9a65c4898080710c015deb
|
||||||
m_Children: []
|
m_Children:
|
||||||
|
- {fileID: -281949353495416486}
|
||||||
|
- {fileID: -6354048548703642832}
|
||||||
m_Volume: f2db72fd62c62d74cb03d11a28b9ec8f
|
m_Volume: f2db72fd62c62d74cb03d11a28b9ec8f
|
||||||
m_Pitch: f711bad694828024996b7a703eb57af7
|
m_Pitch: f711bad694828024996b7a703eb57af7
|
||||||
m_Send: 00000000000000000000000000000000
|
m_Send: 00000000000000000000000000000000
|
||||||
@@ -143,6 +215,39 @@ AudioMixerGroupController:
|
|||||||
m_Mute: 0
|
m_Mute: 0
|
||||||
m_Solo: 0
|
m_Solo: 0
|
||||||
m_BypassEffects: 0
|
m_BypassEffects: 0
|
||||||
|
--- !u!244 &4434749241126400044
|
||||||
|
AudioMixerEffectController:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name:
|
||||||
|
m_EffectID: 28433275b262aa6499b0cf5076b597de
|
||||||
|
m_EffectName: Attenuation
|
||||||
|
m_MixLevel: 5925348bdea90b04a895b3cd54c45b27
|
||||||
|
m_Parameters: []
|
||||||
|
m_SendTarget: {fileID: 0}
|
||||||
|
m_EnableWetMix: 0
|
||||||
|
m_Bypass: 0
|
||||||
|
--- !u!243 &5060278701334990569
|
||||||
|
AudioMixerGroupController:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: Music
|
||||||
|
m_AudioMixer: {fileID: 24100000}
|
||||||
|
m_GroupID: 69e7e2391e0225240b94aab8ac4968dd
|
||||||
|
m_Children: []
|
||||||
|
m_Volume: c518de39492791c49b618d0aeac5a88d
|
||||||
|
m_Pitch: 264704130d9d22745aa9fa1150ff4490
|
||||||
|
m_Send: 00000000000000000000000000000000
|
||||||
|
m_Effects:
|
||||||
|
- {fileID: -2388863367724940654}
|
||||||
|
m_UserColorIndex: 0
|
||||||
|
m_Mute: 0
|
||||||
|
m_Solo: 0
|
||||||
|
m_BypassEffects: 0
|
||||||
--- !u!244 &6612228481115079330
|
--- !u!244 &6612228481115079330
|
||||||
AudioMixerEffectController:
|
AudioMixerEffectController:
|
||||||
m_ObjectHideFlags: 3
|
m_ObjectHideFlags: 3
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ GameObject:
|
|||||||
- component: {fileID: 536416456044738252}
|
- component: {fileID: 536416456044738252}
|
||||||
- component: {fileID: 6629069534496617365}
|
- component: {fileID: 6629069534496617365}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: SoundManager
|
m_Name: AudioManager
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
@@ -44,3 +44,5 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: d8bd90cfc02c8274fac5ce090285ed6a, type: 3}
|
m_Script: {fileID: 11500000, guid: d8bd90cfc02c8274fac5ce090285ed6a, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: '::'
|
m_EditorClassIdentifier: '::'
|
||||||
|
currentPauseBehavior: 2
|
||||||
|
_audioMixer: {fileID: 24100000, guid: 727a7e4b6df4b0d47897f7d8ee7fa323, type: 2}
|
||||||
@@ -1,16 +1,82 @@
|
|||||||
|
using AppleHills.Core.Settings;
|
||||||
|
using Bootstrap;
|
||||||
|
using Core;
|
||||||
|
using PuzzleS;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.Audio;
|
||||||
|
using Bootstrap;
|
||||||
|
using AppleHills.Core;
|
||||||
|
using AppleHills.Core.Interfaces;
|
||||||
|
|
||||||
public class AudioManager : MonoBehaviour
|
public class AudioManager : MonoBehaviour, IPausable
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Play all audio, just music or no audio at all when the game is paused.
|
||||||
|
/// </summary>
|
||||||
|
public enum PauseBehavior
|
||||||
|
{PlayAllAudio, MusicOnly, NoAudio}
|
||||||
|
|
||||||
|
public PauseBehavior currentPauseBehavior;
|
||||||
|
|
||||||
|
public AudioMixer _audioMixer;
|
||||||
|
private AudioListener _audioListener;
|
||||||
|
|
||||||
|
|
||||||
|
private static AudioManager _instance;
|
||||||
|
private GameObject _player;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Singleton instance of the AudioManager.
|
||||||
|
/// </summary>
|
||||||
|
public static AudioManager Instance => _instance;
|
||||||
|
|
||||||
|
void Awake()
|
||||||
|
{
|
||||||
|
_instance = this;
|
||||||
|
|
||||||
|
// Register for post-boot initialization
|
||||||
|
BootCompletionService.RegisterInitAction(InitializePostBoot);
|
||||||
|
GameManager.Instance.RegisterPausableComponent(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitializePostBoot()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
|
_player = QuickAccess.Instance.PlayerGameObject;
|
||||||
|
_audioListener = QuickAccess.Instance.MainCamera.GetComponent<AudioListener>();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update is called once per frame
|
public void SetAudioPauseBehavior(PauseBehavior newPauseBehavior)
|
||||||
void Update()
|
|
||||||
{
|
{
|
||||||
|
switch (newPauseBehavior)
|
||||||
|
{
|
||||||
|
case PauseBehavior.PlayAllAudio:
|
||||||
|
_audioMixer.updateMode = AudioMixerUpdateMode.UnscaledTime;
|
||||||
|
AudioListener.pause = false;
|
||||||
|
break;
|
||||||
|
case PauseBehavior.MusicOnly:
|
||||||
|
_audioMixer.updateMode = AudioMixerUpdateMode.UnscaledTime; break;
|
||||||
|
//TODO: Pause all audio mixers except music mixer
|
||||||
|
case PauseBehavior.NoAudio:
|
||||||
|
_audioMixer.updateMode = AudioMixerUpdateMode.Normal;
|
||||||
|
AudioListener.pause = true;
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Pause()
|
||||||
|
{
|
||||||
|
SetAudioPauseBehavior(PauseBehavior.NoAudio);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void DoResume()
|
||||||
|
{
|
||||||
|
SetAudioPauseBehavior(PauseBehavior.PlayAllAudio);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -449,7 +449,7 @@ AudioSource:
|
|||||||
m_GameObject: {fileID: 6350035581257276269}
|
m_GameObject: {fileID: 6350035581257276269}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
serializedVersion: 4
|
serializedVersion: 4
|
||||||
OutputAudioMixerGroup: {fileID: 3533147658878909314, guid: 727a7e4b6df4b0d47897f7d8ee7fa323, type: 2}
|
OutputAudioMixerGroup: {fileID: -281949353495416486, guid: 727a7e4b6df4b0d47897f7d8ee7fa323, type: 2}
|
||||||
m_audioClip: {fileID: 0}
|
m_audioClip: {fileID: 0}
|
||||||
m_Resource: {fileID: 0}
|
m_Resource: {fileID: 0}
|
||||||
m_PlayOnAwake: 0
|
m_PlayOnAwake: 0
|
||||||
|
|||||||
Reference in New Issue
Block a user