static void Postfix(UnityAudio __instance) { foreach (AudioSource src in __instance.m_ambient_sources) { src.clip.UnloadAudioData(); } }
/// <summary> /// Loads the audio asset with specified name. /// </summary> private void LoadAudio(string lookupName) { var audio = audioAtlas.Get(lookupName); if (audio == null) { Logger.LogWarning($"SoundTable.LoadAudio - Failed to load audio for name: {lookupName}"); return; } sounds[lookupName] = new UnityAudio(audio); }
private static bool Prefix(ref IEnumerable <float> __result, AudioClip[] ___m_sound_effects, float[] ___m_sound_effects_volume, float[] ___m_sound_effects_pitch_amt, float[] ___m_sound_effects_cooldown, UnityAudio __instance) { for (int i = 1; i < 486; i++) { ___m_sound_effects[i] = AudioClip.Create(i.ToString(), 1, 1, 44100, false); ___m_sound_effects_volume[i] = 1f; } __instance.InitSoundFX(); var args = new object[] { 0, "" }; for (int j = 0; j < 512; j++) { args[0] = j; _UnityAudio_CreateAudioSourceAndObject_Method.Invoke(__instance, args); } __instance.SFXVolume = MenuManager.opt_volume_sfx; __result = new float[0]; return(false); }