using System;
using UnityEngine;
namespace FairyGUI
{
///
///
///
public class NAudioClip
{
public static Action CustomDestroyMethod;
///
///
///
public DestroyMethod destroyMethod;
///
///
///
public AudioClip nativeClip;
///
///
///
///
public NAudioClip(AudioClip audioClip)
{
nativeClip = audioClip;
}
///
///
///
public void Unload()
{
if (nativeClip == null)
return;
if (destroyMethod == DestroyMethod.Unload)
Resources.UnloadAsset(nativeClip);
else if (destroyMethod == DestroyMethod.Destroy)
UnityEngine.Object.DestroyImmediate(nativeClip, true);
else if (destroyMethod == DestroyMethod.Custom)
{
if (CustomDestroyMethod == null)
Debug.LogWarning("NAudioClip.CustomDestroyMethod must be set to handle DestroyMethod.Custom");
else
CustomDestroyMethod(nativeClip);
}
nativeClip = null;
}
///
///
///
///
public void Reload(AudioClip audioClip)
{
if (nativeClip != null && nativeClip != audioClip)
Unload();
nativeClip = audioClip;
}
}
}