First commit for private source control. Older commits available on Github.
This commit is contained in:
31
Assets/Scripts/Framework/Registries/AudioRegistry.cs
Normal file
31
Assets/Scripts/Framework/Registries/AudioRegistry.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user