using System.Collections; using System.Collections.Generic; using UnityEngine; #if MIRROR using Mirror; #endif namespace BITKit { #if MIRROR public static class AudioSOExtensions { public static Dictionary dictionary = new(); [RuntimeInitializeOnLoadMethod] static void Reload() { dictionary.Clear(); } /* public static void Write(this NetworkWriter writer, AudioClip value) { writer.Write(value.name); } public static AudioClip ReadAudioClip(this NetworkReader reader) { return Data.Get(reader.ReadString()); } */ public static void WriteAudioSO(this NetworkWriter writer, AudioSO value) { writer.Write(value.instanceID); } public static AudioSO ReadAudioSO(this NetworkReader reader) { return AudioSOExtensions.dictionary[reader.ReadInt()]; } } #endif public class AudioSO : ScriptableObject { public AudioClip[] clips; public float distance; public bool loop; public AudioClip Get() { return clips.Random(); } public int instanceID; } }