public static Clip GetClip(ClipSettings input) { AudioDB adb = ScriptableObject.CreateInstance <AudioDB>(); adb = (AudioDB)Resources.Load <AudioDB>("AudioDB"); List <Clip> source; if (input is SoundClip) { source = adb.sound; } else if (input is AmbientClip) { source = adb.ambient; } else if (input is MusicClip) { source = adb.music; } else { return(null); } foreach (Clip item in source) { if (input.name == item.name) { return(item); } } Debug.LogWarning("Specified clip not found."); return(null); }
public AudioSource NewAudioSource(ClipSettings clip) { GameObject player = new GameObject(); AudioSource ads = player.AddComponent <AudioSource>(); Clip ac = AudioDB.GetClip(clip); ads.clip = ac.GetClip(); player.name = ac.name; ads.rolloffMode = AudioRolloffMode.Linear; player.transform.localPosition = Vector3.zero; ads.spatialBlend = 0; ads.pitch = clip.pitch; ads.playOnAwake = false; ads.transform.SetParent(transform); return(ads); }