Files
A-Fairytale-Gone-Bad-Briar-…/Assets/Scripts/Framework/Registries/AudioRegistry.cs

31 lines
963 B
C#

using System.Collections.Generic;
using System.Linq;
using BriarQueen.Framework.Managers.Audio.Data;
using NaughtyAttributes;
using UnityEngine;
namespace BriarQueen.Framework.Registries
{
[CreateAssetMenu(menuName = "Briar Queen/Registries/New Audio Registry", fileName = "New Audio Registry")]
public class AudioRegistry : ScriptableObject
{
[ReorderableList]
[SerializeField]
private List<AudioFileSo> _audioFiles;
private Dictionary<string, AudioFileSo> _audioFileDict;
private void EnsureInitialized()
{
if (_audioFileDict == null)
_audioFileDict = _audioFiles.ToDictionary(entry => entry.UniqueID, entry => entry);
}
public bool TryGetAudio(string audioName, out AudioFileSo audioFile)
{
if (_audioFileDict == null) EnsureInitialized();
return _audioFileDict!.TryGetValue(audioName, out audioFile);
}
}
}