SRDebugUtil.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Diagnostics;
  4. using SRF;
  5. using UnityEngine;
  6. public static class SRDebugUtil
  7. {
  8. public static bool IsFixedUpdate { get; set; }
  9. [DebuggerStepThrough]
  10. [DebuggerNonUserCode]
  11. public static void AssertNotNull(object value, string message = null, MonoBehaviour instance = null)
  12. {
  13. if (!EqualityComparer<object>.Default.Equals(value, null))
  14. {
  15. return;
  16. }
  17. message = ((message == null) ? "Assert Failed" : "NotNullAssert Failed: {0}".Fmt(new object[]
  18. {
  19. message
  20. }));
  21. UnityEngine.Debug.LogError(message, instance);
  22. if (instance != null)
  23. {
  24. instance.enabled = false;
  25. }
  26. throw new NullReferenceException(message);
  27. }
  28. [DebuggerStepThrough]
  29. [DebuggerNonUserCode]
  30. public static void Assert(bool condition, string message = null, MonoBehaviour instance = null)
  31. {
  32. if (condition)
  33. {
  34. return;
  35. }
  36. message = ((message == null) ? "Assert Failed" : "Assert Failed: {0}".Fmt(new object[]
  37. {
  38. message
  39. }));
  40. UnityEngine.Debug.LogError(message, instance);
  41. throw new Exception(message);
  42. }
  43. [DebuggerStepThrough]
  44. [DebuggerNonUserCode]
  45. [Conditional("UNITY_EDITOR")]
  46. public static void EditorAssertNotNull(object value, string message = null, MonoBehaviour instance = null)
  47. {
  48. SRDebugUtil.AssertNotNull(value, message, instance);
  49. }
  50. [DebuggerStepThrough]
  51. [DebuggerNonUserCode]
  52. [Conditional("UNITY_EDITOR")]
  53. public static void EditorAssert(bool condition, string message = null, MonoBehaviour instance = null)
  54. {
  55. SRDebugUtil.Assert(condition, message, instance);
  56. }
  57. public const int LineBufferCount = 512;
  58. }