65 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			65 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C#
		
	
	
	
| 
								 | 
							
								using System;
							 | 
						|||
| 
								 | 
							
								using System.Collections.Generic;
							 | 
						|||
| 
								 | 
							
								using System.Diagnostics;
							 | 
						|||
| 
								 | 
							
								using SRF;
							 | 
						|||
| 
								 | 
							
								using UnityEngine;
							 | 
						|||
| 
								 | 
							
								using Debug = UnityEngine.Debug;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								public static class SRDebugUtil
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    public const int LineBufferCount = 512;
							 | 
						|||
| 
								 | 
							
								    public static bool IsFixedUpdate { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    [DebuggerNonUserCode]
							 | 
						|||
| 
								 | 
							
								    [DebuggerStepThrough]
							 | 
						|||
| 
								 | 
							
								    public static void AssertNotNull(object value, string message = null, MonoBehaviour instance = null)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        if (!EqualityComparer<object>.Default.Equals(value, null))
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        message = message != null ? "NotNullAssert Failed: {0}".Fmt(message) : "Assert Failed";
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        Debug.LogError(message, instance);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        if (instance != null)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            instance.enabled = false;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        throw new NullReferenceException(message);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    [DebuggerNonUserCode]
							 | 
						|||
| 
								 | 
							
								    [DebuggerStepThrough]
							 | 
						|||
| 
								 | 
							
								    public static void Assert(bool condition, string message = null, MonoBehaviour instance = null)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        if (condition)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        message = message != null ? "Assert Failed: {0}".Fmt(message) : "Assert Failed";
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        Debug.LogError(message, instance);
							 | 
						|||
| 
								 | 
							
								        throw new Exception(message);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    [Conditional("UNITY_EDITOR")]
							 | 
						|||
| 
								 | 
							
								    [DebuggerNonUserCode]
							 | 
						|||
| 
								 | 
							
								    [DebuggerStepThrough]
							 | 
						|||
| 
								 | 
							
								    public static void EditorAssertNotNull(object value, string message = null, MonoBehaviour instance = null)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        AssertNotNull(value, message, instance);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    [Conditional("UNITY_EDITOR")]
							 | 
						|||
| 
								 | 
							
								    [DebuggerNonUserCode]
							 | 
						|||
| 
								 | 
							
								    [DebuggerStepThrough]
							 | 
						|||
| 
								 | 
							
								    public static void EditorAssert(bool condition, string message = null, MonoBehaviour instance = null)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        Assert(condition, message, instance);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |