示例#1
0
    static string[] OnWillSaveOrCreateAssets(string[] paths)
    {
        List <string> outPaths = new List <string>();

        for (int i = 0; i < paths.Length; i++)
        {
            bool isSceneAsset = paths[i].ToLower().EndsWith(".unity");

            if (isSceneAsset)
            {
                if (EditorWindow.focusedWindow != null && EditorWindow.focusedWindow.GetType() == typeof(UIDEEditorWindow))
                {
                    UIDEEditorWindow window = (UIDEEditorWindow)EditorWindow.focusedWindow;
                    if (window)
                    {
                        window.OnRequestSave();
                    }
                    else
                    {
                        Debug.LogWarning("Something went wrong!");
                    }
                    continue;
                }
            }

            outPaths.Add(paths[i]);
        }
        return(outPaths.ToArray());
    }