Aetheria/Assets/Wwise/Deployment/API/Handwritten/Common/AkLogger.cs
Reinier Vens db8c3c7779 Initial Wwise Integration
Created wwise project
Integrated inventory UI sounds
Improved projectile weapon behavior (randomized start position, stopped them from self-destructing at target range when airburst is disabled)
2021-02-27 20:53:36 +00:00

67 lines
No EOL
2.1 KiB
C#

#if ! (UNITY_DASHBOARD_WIDGET || UNITY_WEBPLAYER || UNITY_WII || UNITY_WIIU || UNITY_NACL || UNITY_FLASH || UNITY_BLACKBERRY) // Disable under unsupported platforms.
//////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2017 Audiokinetic Inc. / All Rights Reserved
//
//////////////////////////////////////////////////////////////////////
public class AkLogger
{
// @todo sjl: Have SWIG specify the delegate's signature (possibly in AkSoundEngine) so that we can automatically determine the appropriate string marshaling.
[System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
public delegate void ErrorLoggerInteropDelegate(
[System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPStr)]
string message);
private static AkLogger ms_Instance = new AkLogger();
private ErrorLoggerInteropDelegate errorLoggerDelegate = WwiseInternalLogError;
private AkLogger()
{
if (ms_Instance == null)
{
ms_Instance = this;
AkSoundEngine.SetErrorLogger(errorLoggerDelegate);
}
}
public static AkLogger Instance { get { return ms_Instance; } }
~AkLogger()
{
if (ms_Instance == this)
{
ms_Instance = null;
errorLoggerDelegate = null;
AkSoundEngine.SetErrorLogger();
}
}
public void Init()
{
// used to force instantiation of this singleton
}
[AOT.MonoPInvokeCallback(typeof(ErrorLoggerInteropDelegate))]
public static void WwiseInternalLogError(string message)
{
UnityEngine.Debug.LogErrorFormat("Wwise: {0}", message);
}
public static void Message(string message)
{
UnityEngine.Debug.LogFormat("WwiseUnity: {0}", message);
}
public static void Warning(string message)
{
UnityEngine.Debug.LogWarningFormat("WwiseUnity: {0}", message);
}
public static void Error(string message)
{
UnityEngine.Debug.LogErrorFormat("WwiseUnity: {0}", message);
}
}
#endif // #if ! (UNITY_DASHBOARD_WIDGET || UNITY_WEBPLAYER || UNITY_WII || UNITY_WIIU || UNITY_NACL || UNITY_FLASH || UNITY_BLACKBERRY) // Disable under unsupported platforms.