add disable script reload

this script is simply a mild improvement over autorefresh. it disables autorefresh only when the app starts running, but not when it isn't running
This commit is contained in:
Xevion
2020-11-09 10:17:09 -06:00
parent b8e9e383c4
commit 6085dbf705
3 changed files with 44 additions and 0 deletions

8
Paths/Assets/Editor.meta Normal file
View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e68c512255cf4b718b81a87be7296a76
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,33 @@
using UnityEditor;
using UnityEngine;
/// <summary>
/// Prevents script compilation and reload while in play mode.
/// The editor will show a the spinning reload icon if there are unapplied changes but will not actually
/// apply them until playmode is exited.
/// Note: Script compile errors will not be shown while in play mode.
/// Derived from the instructions here:
/// https://support.unity3d.com/hc/en-us/articles/210452343-How-to-stop-automatic-assembly-compilation-from-script
/// </summary>
[InitializeOnLoad]
public class DisableScriptReload {
static DisableScriptReload() {
EditorApplication.playModeStateChanged
+= OnPlayModeStateChanged;
}
static void OnPlayModeStateChanged(PlayModeStateChange stateChange) {
switch (stateChange) {
case (PlayModeStateChange.EnteredPlayMode): {
EditorApplication.LockReloadAssemblies();
Debug.Log("Assembly Reload locked as entering play mode");
break;
}
case (PlayModeStateChange.ExitingPlayMode): {
Debug.Log("Assembly Reload unlocked as exiting play mode");
EditorApplication.UnlockReloadAssemblies();
break;
}
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 167133610e3f4b86aa272c1ae09494f3
timeCreated: 1605283576