#define DEBUG_LEVEL_LOG
#define DEBUG_LEVEL_WARN
#define DEBUG_LEVEL_ERROR
using System;
using UnityEngine;
namespace SK
{
public static class D
{
[System.Diagnostics.Conditional("DEBUG_LEVEL_LOG")]
[System.Diagnostics.Conditional("DEBUG_LEVEL_WARN")]
[System.Diagnostics.Conditional("DEBUG_LEVEL_ERROR")]
public static void Log(object format, params object[] paramList)
{
if (format is string)
Debug.Log(string.Format(format as string, paramList));
else
Debug.Log(format);
}
[System.Diagnostics.Conditional("DEBUG_LEVEL_WARN")]
public static void Warn(object format, params object[] paramList)
{
if (format is string)
Debug.LogWarning(string.Format(format as string, paramList));
else
Debug.LogWarning(format);
}
[System.Diagnostics.Conditional("DEBUG_LEVEL_ERROR")]
public static void Error(object format, params object[] paramList)
{
if (format is string)
Debug.LogError(string.Format(format as string, paramList));
else
Debug.LogError(format);
}
[System.Diagnostics.Conditional("UNITY_EDITOR")]
[System.Diagnostics.Conditional("DEBUG_LEVEL_LOG")]
public static void Assert(bool condition)
{
Assert(condition, string.Empty, true);
}
[System.Diagnostics.Conditional("UNITY_EDITOR")]
[System.Diagnostics.Conditional("DEBUG_LEVEL_LOG")]
public static void Assert(bool condition, string assertString)
{
Assert(condition, assertString, false);
}
[System.Diagnostics.Conditional("UNITY_EDITOR")]
[System.Diagnostics.Conditional("DEBUG_LEVEL_LOG")]
public static void Assert(bool condition, string assertString, bool pauseEditorOnFail)
{
if (!condition)
{
Debug.LogError("assert failed! " + assertString);
if (pauseEditorOnFail) Debug.Break();
}
}
}
}