// 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 { /// /// Prevents saving of selected blocks and commands to avoid version control conflicts. /// 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(); foreach (Flowchart f in flowcharts) { if (!f.SaveSelection) { f.SelectedBlock = null; f.ClearSelectedCommands(); } } return paths; } } }