64 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using FishNet.Utility.Constant;
 | |
| using System.Runtime.CompilerServices;
 | |
| using UnityEngine;
 | |
| #if UNITY_EDITOR
 | |
| using UnityEditor;
 | |
| #endif
 | |
| 
 | |
| 
 | |
| 
 | |
| namespace FishNet.Utility
 | |
| {
 | |
| #if UNITY_EDITOR
 | |
|     [InitializeOnLoad]
 | |
| #endif
 | |
|     public static class ApplicationState
 | |
|     {
 | |
| 
 | |
| #if !UNITY_EDITOR
 | |
|         /// <summary>
 | |
|         /// True if application is quitting.
 | |
|         /// </summary>
 | |
|         private static bool _isQuitting;
 | |
| #endif
 | |
|         static ApplicationState()
 | |
|         {
 | |
| #if !UNITY_EDITOR
 | |
|             _isQuitting = false;
 | |
| #endif
 | |
|             Application.quitting -= Application_quitting;
 | |
|             Application.quitting += Application_quitting;
 | |
|         }
 | |
| 
 | |
|         private static void Application_quitting()
 | |
|         {
 | |
| #if !UNITY_EDITOR
 | |
|             _isQuitting = true;
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static bool IsQuitting()
 | |
|         {
 | |
| #if UNITY_EDITOR
 | |
|             if (!EditorApplication.isPlayingOrWillChangePlaymode && EditorApplication.isPlaying)
 | |
|                 return true;
 | |
|             else
 | |
|                 return false;
 | |
| #else
 | |
|             return _isQuitting;
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static bool IsPlaying()
 | |
|         {
 | |
| #if UNITY_EDITOR
 | |
|             return EditorApplication.isPlaying;
 | |
| #else
 | |
|             return Application.isPlaying;
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|     }
 | |
| 
 | |
| 
 | |
| } |