Files
BH3/Assets/Plugins/Assembly-CSharp-firstpass/AkCallbackSerializer.cs
2025-08-13 09:26:42 +08:00

72 lines
1.4 KiB
C#

using System;
public class AkCallbackSerializer : IDisposable
{
private IntPtr swigCPtr;
protected bool swigCMemOwn;
internal AkCallbackSerializer(IntPtr cPtr, bool cMemoryOwn)
{
swigCMemOwn = cMemoryOwn;
swigCPtr = cPtr;
}
public AkCallbackSerializer()
: this(AkSoundEnginePINVOKE.CSharp_new_AkCallbackSerializer(), true)
{
}
internal static IntPtr getCPtr(AkCallbackSerializer obj)
{
return (obj != null) ? obj.swigCPtr : IntPtr.Zero;
}
~AkCallbackSerializer()
{
Dispose();
}
public virtual void Dispose()
{
lock (this)
{
if (swigCPtr != IntPtr.Zero)
{
if (swigCMemOwn)
{
swigCMemOwn = false;
AkSoundEnginePINVOKE.CSharp_delete_AkCallbackSerializer(swigCPtr);
}
swigCPtr = IntPtr.Zero;
}
GC.SuppressFinalize(this);
}
}
public static AKRESULT Init(IntPtr in_pMemory, uint in_uSize)
{
return (AKRESULT)AkSoundEnginePINVOKE.CSharp_AkCallbackSerializer_Init(in_pMemory, in_uSize);
}
public static void Term()
{
AkSoundEnginePINVOKE.CSharp_AkCallbackSerializer_Term();
}
public static IntPtr Lock()
{
return AkSoundEnginePINVOKE.CSharp_AkCallbackSerializer_Lock();
}
public static void SetLocalOutput(uint in_uErrorLevel)
{
AkSoundEnginePINVOKE.CSharp_AkCallbackSerializer_SetLocalOutput(in_uErrorLevel);
}
public static void Unlock()
{
AkSoundEnginePINVOKE.CSharp_AkCallbackSerializer_Unlock();
}
}