FateViewer/Assets/AmplifyShaderEditor/Plugins/Editor/Menu/SceneSaveCallback.cs

41 lines
909 B
C#
Raw Normal View History

2023-10-09 00:51:40 +08:00
// 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 )
{
if( !Preferences.GlobalUpdateOnSceneSave )
return 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;
}
}
}