mirror of
				https://github.com/DerTyp7/defrain-shooter-unity.git
				synced 2025-10-31 05:27:07 +01:00 
			
		
		
		
	CHANGED TO MIRROR
This commit is contained in:
		
							
								
								
									
										44
									
								
								Assets/Mirror/Editor/Weaver/EntryPoint/EnterPlayModeHook.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								Assets/Mirror/Editor/Weaver/EntryPoint/EnterPlayModeHook.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| #if !UNITY_2020_3_OR_NEWER | ||||
| // make sure we weaved successfully when entering play mode. | ||||
| using UnityEditor; | ||||
| using UnityEngine; | ||||
|  | ||||
| namespace Mirror | ||||
| { | ||||
|     public class EnterPlayModeSettingsCheck : MonoBehaviour | ||||
|     { | ||||
|         [InitializeOnLoadMethod] | ||||
|         static void OnInitializeOnLoad() | ||||
|         { | ||||
|             // Hook this event to see if we have a good weave every time | ||||
|             // user attempts to enter play mode or tries to do a build | ||||
|             EditorApplication.playModeStateChanged += OnPlayModeStateChanged; | ||||
|         } | ||||
|  | ||||
|         static void OnPlayModeStateChanged(PlayModeStateChange state) | ||||
|         { | ||||
|             // Per Unity docs, this fires "when exiting edit mode before the Editor is in play mode". | ||||
|             // This doesn't fire when closing the editor. | ||||
|             if (state == PlayModeStateChange.ExitingEditMode) | ||||
|             { | ||||
|                 // Check if last weave result was successful | ||||
|                 if (!SessionState.GetBool("MIRROR_WEAVE_SUCCESS", false)) | ||||
|                 { | ||||
|                     // Last weave result was a failure...try to weave again | ||||
|                     // Faults will show in the console that may have been cleared by "Clear on Play" | ||||
|                     SessionState.SetBool("MIRROR_WEAVE_SUCCESS", true); | ||||
|                     Weaver.CompilationFinishedHook.WeaveExistingAssemblies(); | ||||
|  | ||||
|                     // Did that clear things up for us? | ||||
|                     if (!SessionState.GetBool("MIRROR_WEAVE_SUCCESS", false)) | ||||
|                     { | ||||
|                         // Nope, still failed, and console has the issues logged | ||||
|                         Debug.LogError("Can't enter play mode until weaver issues are resolved."); | ||||
|                         EditorApplication.isPlaying = false; | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
| #endif | ||||
		Reference in New Issue
	
	Block a user
	 DerTyp187
					DerTyp187