#if !(UNITY_QNX) // Disable under unsupported platforms.
//------------------------------------------------------------------------------
//
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.4.0
//
// Do not make changes to this file unless you know what you are doing - modify
// the SWIG interface file instead.
//------------------------------------------------------------------------------
/// Callback information structure corresponding to \ref AK_DynamicSequenceSelect.
/// Called when a dynamic sequence must select its next item to play.
/// The callee is expected to fill out the information contained in this structure.
/// If there is no item available to play, the callee must set ``audioNodeID`` to ``AK_INVALID_UNIQUE_ID``.
/// This will cause the dynamic sequence to stop. Use ``AK::SoundEngine::DynamicSequence::Play`` to start playback again.
/// When opening a dynamic sequence with the callback flag ``AK_DynamicSequenceSelect``, the callback is the ONLY way to determine the next item to play.
/// ``AK::SoundEngine::DynamicSequence::LockPlaylist`` always returns ``NULL`` for dynamic sequences opened with ``AK_DynamicSequenceSelect``.
///
///
public class AkDynamicSequenceSelectCallbackInfo : global::System.IDisposable {
private global::System.IntPtr swigCPtr;
protected bool swigCMemOwn;
internal AkDynamicSequenceSelectCallbackInfo(global::System.IntPtr cPtr, bool cMemoryOwn) {
swigCMemOwn = cMemoryOwn;
swigCPtr = cPtr;
}
internal static global::System.IntPtr getCPtr(AkDynamicSequenceSelectCallbackInfo obj) {
return (obj == null) ? global::System.IntPtr.Zero : obj.swigCPtr;
}
internal virtual void setCPtr(global::System.IntPtr cPtr) {
Dispose();
swigCPtr = cPtr;
}
~AkDynamicSequenceSelectCallbackInfo() {
Dispose(false);
}
public void Dispose() {
Dispose(true);
global::System.GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing) {
lock(this) {
if (swigCPtr != global::System.IntPtr.Zero) {
if (swigCMemOwn) {
swigCMemOwn = false;
AkUnitySoundEnginePINVOKE.CSharp_delete_AkDynamicSequenceSelectCallbackInfo(swigCPtr);
}
swigCPtr = global::System.IntPtr.Zero;
}
global::System.GC.SuppressFinalize(this);
}
}
/// Unique ID of Audio Node (can be resolved using AK::SoundEngine::DynamicDialogue API). Set to AK_INVALID_UNIQUE_ID to signal that no item is available to play.
public uint audioNodeID { set { AkUnitySoundEnginePINVOKE.CSharp_AkDynamicSequenceSelectCallbackInfo_audioNodeID_set(swigCPtr, value); } get { return AkUnitySoundEnginePINVOKE.CSharp_AkDynamicSequenceSelectCallbackInfo_audioNodeID_get(swigCPtr); }
}
/// Delay before playing this item, in milliseconds
public int msDelay { set { AkUnitySoundEnginePINVOKE.CSharp_AkDynamicSequenceSelectCallbackInfo_msDelay_set(swigCPtr, value); } get { return AkUnitySoundEnginePINVOKE.CSharp_AkDynamicSequenceSelectCallbackInfo_msDelay_get(swigCPtr); }
}
/// Optional user data
public global::System.IntPtr pCustomInfo { set { AkUnitySoundEnginePINVOKE.CSharp_AkDynamicSequenceSelectCallbackInfo_pCustomInfo_set(swigCPtr, value); } get { return AkUnitySoundEnginePINVOKE.CSharp_AkDynamicSequenceSelectCallbackInfo_pCustomInfo_get(swigCPtr); }
}
/// Optional external sources. Use API described in AkExternalSourceArray.h to add required external sources to play the next item.
public global::System.IntPtr arExternalSources { set { AkUnitySoundEnginePINVOKE.CSharp_AkDynamicSequenceSelectCallbackInfo_arExternalSources_set(swigCPtr, value); } get { return AkUnitySoundEnginePINVOKE.CSharp_AkDynamicSequenceSelectCallbackInfo_arExternalSources_get(swigCPtr); }
}
public AkDynamicSequenceSelectCallbackInfo() : this(AkUnitySoundEnginePINVOKE.CSharp_new_AkDynamicSequenceSelectCallbackInfo(), true) {
}
}
#endif // #if !(UNITY_QNX) // Disable under unsupported platforms.