Spelunx Cavern SDK
 
Loading...
Searching...
No Matches
AudioManager.cs
Go to the documentation of this file.
1using UnityEngine;
2using UnityEngine.Audio;
3
4public class AudioManager : MonoBehaviour
5{
6 [SerializeField, Tooltip("Creature AudioSource")] private AudioSource creatureAudioSource;
7 [SerializeField, Tooltip("Big Creature AudioSource")] private AudioSource bigCreatureAudioSource;
8 [SerializeField, Tooltip("UI AudioSource")] private AudioSource uIAudioSource;
9
10 [Header("Audio Resource")]
11 [SerializeField, Tooltip("Creature flying sound")] private AudioResource creatureFlyingSound;
12 [SerializeField, Tooltip("Creature whining sound")] private AudioResource creatureWhiningSound;
13 [SerializeField, Tooltip("Creature happy pickup sound")] private AudioResource creaturePickUpSound;
14 [SerializeField, Tooltip("Creature hugging sound")] private AudioResource creatureHuggingSound;
15 [SerializeField, Tooltip("Big creature hugging sound")] private AudioResource bigCreatureHuggingSound;
16 [SerializeField, Tooltip("Correct sound")] private AudioResource correctSound;
17
18 public class SpatialBlend
19 {
20 public const float ThreeD = 1.0f;
21 public const float TwoD = 0.0f;
22 public const float UI = 0.5f;
23 public const float Balance = 0.75f;
24 }
25
26 private void Start()
27 {
28 creatureAudioSource.spatialBlend = SpatialBlend.ThreeD;
29 creatureAudioSource.priority = 0;
30
31 bigCreatureAudioSource.spatialBlend = SpatialBlend.Balance;
32 bigCreatureAudioSource.priority = 0;
33 bigCreatureAudioSource.pitch = 0.54f;
34
35 uIAudioSource.spatialBlend = SpatialBlend.UI;
36 uIAudioSource.priority = 0;
37 }
38
40 {
41 PlaySound(creatureAudioSource, creatureFlyingSound, SpatialBlend.ThreeD, true);
42 }
43
45 {
46 PlaySound(creatureAudioSource, creatureWhiningSound, SpatialBlend.Balance, true);
47 }
49 {
50 PlaySound(creatureAudioSource, creaturePickUpSound, SpatialBlend.Balance, true);
51 }
52
54 {
55 PlaySound(creatureAudioSource, creatureHuggingSound, SpatialBlend.Balance, false);
56 }
57
59 {
60 PlaySound(bigCreatureAudioSource, bigCreatureHuggingSound, SpatialBlend.Balance, false);
61 }
62
63 public void PlayCorrectSound()
64 {
65 PlaySound(uIAudioSource, correctSound, SpatialBlend.UI, false);
66 }
67
68 private void PlaySound(AudioSource audioSource, AudioResource audioResource, float spatialBlend, bool loop)
69 {
70 audioSource.Stop();
71 audioSource.resource = audioResource;
72 audioSource.spatialBlend = spatialBlend;
73 audioSource.loop = loop;
74 audioSource.Play();
75 }
76}
void PlayCorrectSound()
Definition: AudioManager.cs:63
void PlayCreatureFlyingSound()
Definition: AudioManager.cs:39
void PlayBigCreatureHuggingSound()
Definition: AudioManager.cs:58
void PlayCreatureWhiningSound()
Definition: AudioManager.cs:44
void PlayCreatureHuggingSound()
Definition: AudioManager.cs:53
void PlayCreatureHappyPickupSound()
Definition: AudioManager.cs:48