-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAudioManager.cs
More file actions
91 lines (72 loc) · 1.65 KB
/
Copy pathAudioManager.cs
File metadata and controls
91 lines (72 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using Unity.Mathematics;
public class AudioManager : MonoBehaviour
{
public static AudioManager Instance;
public Sounds[] musicSounds, sfxSounds;
public AudioSource musicSource, sfxSource;
public void Awake()
{
if (Instance == null)
{
Instance = this;
DontDestroyOnLoad(gameObject);
}
else
{
Destroy(gameObject);
}
}
public void Start()
{
PlayMusic("Theme");
}
public void StopMusic()
{
musicSource.Stop();
}
public void PlayMusic(string name)
{
Sounds s = Array.Find(musicSounds, x => x.name == name);
if (s == null)
{
Debug.Log("sound not found");
}
else
{
musicSource.clip = s.clip;
musicSource.Play();
}
}
public void PlaySFX(string name)
{
Sounds s = Array.Find(sfxSounds, x => x.name == name);
if (s == null)
{
Debug.Log("sound not found");
}
else
{
sfxSource.PlayOneShot(s.clip);
}
}
public void ToggleMusic()
{
musicSource.mute = !musicSource.mute;
}
public void ToggleSFX()
{
sfxSource.mute = !sfxSource.mute;
}
public void MusicVolume(float volume)
{
musicSource.volume = volume;
}
public void SFXVolume(float volume)
{
sfxSource.volume = volume;
}
}