Пример #1
0
        internal static void InvalidRepoGUI()
        {
            EditorGUILayout.BeginHorizontal();
            GUILayout.FlexibleSpace();
            GUILayout.Box(GitGUI.GetTempContent("Not a GIT Repository"), "NotificationBackground");
            GUILayout.FlexibleSpace();
            EditorGUILayout.EndHorizontal();
            GUILayout.FlexibleSpace();
            EditorGUILayout.BeginHorizontal();
            GUILayout.FlexibleSpace();
            if (GUILayout.Button(GitGUI.GetTempContent("Create"), "LargeButton", GUILayout.Height(32), GUILayout.Width(128)))
            {
                if (EditorUtility.DisplayDialog("Initialize Repository", "Are you sure you want to initialize a Repository for your project", "Yes", "Cancel"))
                {
                    Repository.Init(Application.dataPath.Replace("/Assets", ""));
                    TextAsset textAsset = EditorGUIUtility.Load("UniGit/gitignore.txt") as TextAsset;
                    if (textAsset != null)
                    {
                        string textAssetPath    = AssetDatabase.GetAssetPath(textAsset).Replace("Assets/", "");
                        string newGitIgnoreFile = Path.Combine(Application.dataPath.Replace("Assets", "").Replace("Contents", ""), ".gitignore");
                        if (!File.Exists(newGitIgnoreFile))
                        {
                            File.Copy(Path.Combine(Application.dataPath, textAssetPath), newGitIgnoreFile);
                        }
                        else
                        {
#if UNITY_EDITOR
                            Debug.Log("Git Ignore file already present");
#endif
                        }
                    }
                    else
                    {
                        Debug.LogError("Missing default gitignore.txt in resources");
                    }
                    AssetDatabase.Refresh();
                    AssetDatabase.SaveAssets();
                    GitManager.Initlize();
                    GitManager.MarkDirty();
                    GUIUtility.ExitGUI();
                    return;
                }
            }
            GUILayout.FlexibleSpace();
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.Space();
        }