-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCharacterAudioPack.cs
More file actions
33 lines (24 loc) · 1.01 KB
/
CharacterAudioPack.cs
File metadata and controls
33 lines (24 loc) · 1.01 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
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(menuName = "Sound/CharacterAudioPack")]
public class CharacterAudioPack : ScriptableObject
{
[SerializeField]
private List<AudioClip> deathSounds = new List<AudioClip>();
[SerializeField]
private List<AudioClip> damageTakenSounds = new List<AudioClip>();
[SerializeField]
private List<AudioClip> attackSounds = new List<AudioClip>();
[SerializeField]
private List<AudioClip> spellSounds = new List<AudioClip>();
public AudioClip GetDeathSound() => GetSound(deathSounds);
public AudioClip GetDamageTakenSound() => GetSound(damageTakenSounds);
public AudioClip GetAttackSound() => GetSound(attackSounds);
public AudioClip GetSpellSound() => GetSound(spellSounds);
private AudioClip GetSound(List<AudioClip> audioClips)
{
if (audioClips.Count == 0) return null;
return audioClips[Random.Range(0, audioClips.Count)];
}
}