using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class VoiceWarehouse { static int instanceId = 1000; static Dictionary audioClips = new Dictionary(); static Dictionary audioVoices = new Dictionary(); public static event Action voiceRecoderEvent; public static int SaveVoice(AudioClip _clip) { instanceId++; audioClips[instanceId] = _clip; return instanceId; } public static bool TryGetVoice(int _instanceId, out AudioClip _clip) { return audioClips.TryGetValue(_instanceId, out _clip); } public static void SaveVoice(int _instanceId, byte[] _data) { audioVoices.Add(_instanceId, _data); if (voiceRecoderEvent != null) { voiceRecoderEvent(_instanceId); } } public static bool TryGetVoice(int _instanceId, out byte[] _data) { return audioVoices.TryGetValue(_instanceId, out _data); } public static void Clear() { instanceId = 1000; audioClips.Clear(); audioVoices.Clear(); } }