47 lines
1.2 KiB
C#
47 lines
1.2 KiB
C#
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<int, AudioSO> 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<AudioClip>(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;
|
|
}
|
|
} |