You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.3 KiB
44 lines
1.3 KiB
1 year ago
|
// This code is part of the Fungus library (https://github.com/snozbot/fungus)
|
||
|
// It is released for free under the MIT open source license (https://github.com/snozbot/fungus/blob/master/LICENSE)
|
||
|
|
||
|
using System.IO;
|
||
|
|
||
|
namespace Fungus.EditorUtils
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Prevents saving of selected blocks and commands to avoid version control conflicts.
|
||
|
/// </summary>
|
||
|
public class AssetModProcessor : UnityEditor.AssetModificationProcessor
|
||
|
{
|
||
|
public static string[] OnWillSaveAssets(string[] paths)
|
||
|
{
|
||
|
string sceneName = "";
|
||
|
|
||
|
foreach (string path in paths)
|
||
|
{
|
||
|
if (path.Contains(".unity"))
|
||
|
{
|
||
|
sceneName = Path.GetFileNameWithoutExtension(path);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (sceneName.Length == 0)
|
||
|
{
|
||
|
return paths;
|
||
|
}
|
||
|
|
||
|
// Reset these variables before save so that they won't cause a git conflict
|
||
|
Flowchart[] flowcharts = UnityEngine.Object.FindObjectsOfType<Flowchart>();
|
||
|
foreach (Flowchart f in flowcharts)
|
||
|
{
|
||
|
if (!f.SaveSelection)
|
||
|
{
|
||
|
f.SelectedBlock = null;
|
||
|
f.ClearSelectedCommands();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return paths;
|
||
|
}
|
||
|
}
|
||
|
}
|