diff options
Diffstat (limited to 'Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/Menu/SceneSaveCallback.cs')
-rw-r--r-- | Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/Menu/SceneSaveCallback.cs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/Menu/SceneSaveCallback.cs b/Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/Menu/SceneSaveCallback.cs new file mode 100644 index 00000000..56e24518 --- /dev/null +++ b/Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/Menu/SceneSaveCallback.cs @@ -0,0 +1,37 @@ +// Amplify Shader Editor - Visual Shader Editing Tool +// Copyright (c) Amplify Creations, Lda <info@amplify.pt> + +namespace AmplifyShaderEditor +{ + // Catch when scene is saved (Ctr+S) and also save ase shader + public class SceneSaveCallback : UnityEditor.AssetModificationProcessor + { + private const string UnityStr = ".unity"; + + static string[] OnWillSaveAssets( string[] paths ) + { + bool canSave = false; + + if ( paths.Length == 0 ) + { + canSave = true; + } + else + { + for ( int i = 0; i < paths.Length; i++ ) + { + // Only save shader when saving scenes + if ( !string.IsNullOrEmpty( paths[ i ] ) && paths[ i ].Contains( UnityStr ) ) + { + canSave = true; + break; + } + } + } + if ( canSave && UIUtils.CurrentWindow ) + UIUtils.CurrentWindow.SetCtrlSCallback( false ); + + return paths; + } + } +} |