Пример #1
0
        private void ContextMenuClick(object userData, string[] options, int selected)
        {
            if ((bool)userData && selected == 0)
            {
                selected = 1;
            }
            switch (selected)
            {
            case 0:
                this.DoShowDiff(this.GetGUID());
                break;

            case 1:
                ASEditorBackend.DoAS();
                ASEditorBackend.ASWin.ShowHistory();
                break;

            case 2:
                if (!ASEditorBackend.SettingsIfNeeded())
                {
                    Debug.Log("Asset Server connection for current project is not set up");
                }
                if (EditorUtility.DisplayDialog("Discard changes", "Are you sure you want to discard local changes of selected asset?", "Discard", "Cancel"))
                {
                    AssetServer.DoUpdateWithoutConflictResolutionOnNextTick(new string[]
                    {
                        this.GetGUID()
                    });
                }
                break;
            }
        }
Пример #2
0
 private static void Testing_Invoke(string klass, string method, params object[] prms)
 {
     try
     {
         foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
         {
             if ((assembly.GetName().Name != "UnityEditor") && (assembly.GetName().Name != "UnityEngine"))
             {
                 foreach (System.Type type in AssemblyHelper.GetTypesFromAssembly(assembly))
                 {
                     if (type.Name == klass)
                     {
                         type.InvokeMember(method, BindingFlags.InvokeMethod | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static, null, null, prms);
                     }
                 }
             }
         }
     }
     catch (Exception exception)
     {
         if ((exception.InnerException != null) && (exception.InnerException.GetType() == typeof(ExitGUIException)))
         {
             throw exception;
         }
         object[] objArray1 = new object[] { exception };
         Testing_Invoke(AssetServer.GetString("s_ExceptionHandlerClass"), AssetServer.GetString("s_ExceptionHandlerFunction"), objArray1);
     }
 }
Пример #3
0
        private bool DoShowDiff(bool binary)
        {
            List <string>      list  = new List <string>();
            List <CompareInfo> list2 = new List <CompareInfo>();

            for (int i = 0; i < this.selectedLV1Items.Length; i++)
            {
                if (this.selectedLV1Items[i])
                {
                    int serverItemChangeset = AssetServer.GetServerItemChangeset(this.downloadConflicts[i], -1);
                    int ver = (!AssetServer.HasDeletionConflict(this.downloadConflicts[i])) ? -1 : -2;
                    list.Add(this.downloadConflicts[i]);
                    list2.Add(new CompareInfo(serverItemChangeset, ver, (!binary) ? 0 : 1, (!binary) ? 1 : 0));
                }
            }
            bool result;

            if (list.Count != 0)
            {
                AssetServer.CompareFiles(list.ToArray(), list2.ToArray());
                result = true;
            }
            else
            {
                result = false;
            }
            return(result);
        }
Пример #4
0
        public static bool InitializeMaintBinding()
        {
            PListConfig plistConfig = new PListConfig("Library/ServerPreferences.plist");
            string      str1        = plistConfig["Maint UserName"];
            string      server      = plistConfig["Maint Server"];
            string      str2        = plistConfig["Maint project name"];
            string      str3        = plistConfig["Maint database name"];
            string      str4        = plistConfig["Maint port number"];
            int         result;

            if (!int.TryParse(plistConfig["Maint Timeout"], out result))
            {
                result = 5;
            }
            if (server.Length == 0 || str2.Length == 0 || (str3.Length == 0 || str1.Length == 0))
            {
                AssetServer.SetProjectName(string.Empty);
                return(false);
            }
            AssetServer.SetProjectName(string.Format("{0} @ {1}", (object)str2, (object)server));
            string connectionString = "host='" + server + "' user='******' password='******' dbname='" + str3 + "' port='" + str4 + "' sslmode=disable " + plistConfig["Maint Connection Settings"];

            AssetServer.Initialize(str1, connectionString, result);
            return(true);
        }
Пример #5
0
        private bool DoShowDiff(bool binary)
        {
            List <string>      list  = new List <string>();
            List <CompareInfo> list2 = new List <CompareInfo>();
            int changeset            = -1;
            int num2 = -1;

            if (AssetServer.IsItemDeleted(this.selectedGUID))
            {
                changeset = -2;
            }
            else
            {
                changeset = AssetServer.GetWorkingItemChangeset(this.selectedGUID);
                changeset = AssetServer.GetServerItemChangeset(this.selectedGUID, changeset);
            }
            int serverItemChangeset = AssetServer.GetServerItemChangeset(this.selectedGUID, -1);

            num2 = (serverItemChangeset != -1) ? serverItemChangeset : -2;
            list.Add(this.selectedGUID);
            list2.Add(new CompareInfo(changeset, num2, !binary ? 0 : 1, !binary ? 1 : 0));
            if (list.Count != 0)
            {
                AssetServer.CompareFiles(list.ToArray(), list2.ToArray());
            }
            else
            {
                return(false);
            }
            return(true);
        }
Пример #6
0
        private void DoShowProjects()
        {
            int    result        = 0x29ed;
            string serverAddress = this.serverAddress;

            if (serverAddress.IndexOf(":") > 0)
            {
                int.TryParse(serverAddress.Substring(serverAddress.IndexOf(":") + 1), out result);
                serverAddress = serverAddress.Substring(0, serverAddress.IndexOf(":"));
            }
            AssetServer.AdminSetCredentials(serverAddress, result, this.userName, this.password);
            MaintDatabaseRecord[] recordArray = AssetServer.AdminRefreshDatabases();
            if (recordArray != null)
            {
                this.projectsList = new string[recordArray.Length];
                for (int i = 0; i < recordArray.Length; i++)
                {
                    this.projectsList[i] = recordArray[i].name;
                }
                this.projectsLv.totalRows = recordArray.Length;
                this.GetDefaultPListConfig();
                this.plc["Maint Server"]      = serverAddress;
                this.plc["Maint UserName"]    = this.userName;
                this.plc["Maint port number"] = this.port;
                this.plc.Save();
                ASEditorBackend.SetPassword(serverAddress, this.userName, this.password);
                ASEditorBackend.AddUser(this.serverAddress, this.userName);
            }
            else
            {
                this.projectsLv.totalRows = 0;
            }
        }
Пример #7
0
 public bool DoGUI()
 {
     if (constants == null)
     {
         constants = new ASMainWindow.Constants();
     }
     if (this.resetKeyboardControl)
     {
         this.resetKeyboardControl  = false;
         GUIUtility.keyboardControl = 0;
     }
     GUILayout.BeginHorizontal(new GUILayoutOption[0]);
     GUILayout.BeginVertical(constants.groupBox, new GUILayoutOption[0]);
     GUILayout.Box("Server Connection", constants.title, new GUILayoutOption[0]);
     GUILayout.BeginVertical(constants.contentBox, new GUILayoutOption[0]);
     this.DoConfigGUI();
     if (AssetServer.GetAssetServerError() != string.Empty)
     {
         GUILayout.Space(10f);
         GUILayout.Label(AssetServer.GetAssetServerError(), constants.errorLabel, new GUILayoutOption[0]);
         GUILayout.Space(10f);
     }
     GUILayout.EndVertical();
     GUILayout.EndVertical();
     this.DoProjectsGUI();
     GUILayout.EndHorizontal();
     return(true);
 }
Пример #8
0
 private static void Testing_Invoke(string klass, string method, params object[] prms)
 {
     try
     {
         foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
         {
             if (assembly.GetName().Name != "UnityEditor" && assembly.GetName().Name != "UnityEngine")
             {
                 foreach (System.Type type in AssemblyHelper.GetTypesFromAssembly(assembly))
                 {
                     if (type.Name == klass)
                     {
                         type.InvokeMember(method, BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.InvokeMethod, (Binder)null, (object)null, prms);
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         if (ex.InnerException != null && ex.InnerException.GetType() == typeof(ExitGUIException))
         {
             throw ex;
         }
         ASEditorBackend.Testing_Invoke(AssetServer.GetString("s_ExceptionHandlerClass"), AssetServer.GetString("s_ExceptionHandlerFunction"), (object)ex);
     }
 }
Пример #9
0
 private static void Testing_DummyCallback(bool success)
 {
     ASEditorBackend.Testing_Invoke(AssetServer.GetAndRemoveString("s_TestingClass"), AssetServer.GetAndRemoveString("s_TestingFunction"), new object[]
     {
         success
     });
 }
Пример #10
0
        private bool DoShowDiff(bool binary)
        {
            List <string>      list  = new List <string>();
            List <CompareInfo> list2 = new List <CompareInfo>();
            int num;

            if (AssetServer.IsItemDeleted(this.selectedGUID))
            {
                num = -2;
            }
            else
            {
                num = AssetServer.GetWorkingItemChangeset(this.selectedGUID);
                num = AssetServer.GetServerItemChangeset(this.selectedGUID, num);
            }
            int serverItemChangeset = AssetServer.GetServerItemChangeset(this.selectedGUID, -1);
            int ver = (serverItemChangeset != -1) ? serverItemChangeset : -2;

            list.Add(this.selectedGUID);
            list2.Add(new CompareInfo(num, ver, (!binary) ? 0 : 1, (!binary) ? 1 : 0));
            bool result;

            if (list.Count != 0)
            {
                AssetServer.CompareFiles(list.ToArray(), list2.ToArray());
                result = true;
            }
            else
            {
                result = false;
            }
            return(result);
        }
Пример #11
0
        public static bool InitializeMaintBinding()
        {
            int         num;
            PListConfig config = new PListConfig("Library/ServerPreferences.plist");
            string      user   = config["Maint UserName"];
            string      str2   = config["Maint Server"];
            string      str3   = config["Maint project name"];
            string      str4   = config["Maint database name"];
            string      str5   = config["Maint port number"];

            if (!int.TryParse(config["Maint Timeout"], out num))
            {
                num = 5;
            }
            if (((str2.Length == 0) || (str3.Length == 0)) || ((str4.Length == 0) || (user.Length == 0)))
            {
                AssetServer.SetProjectName(string.Empty);
                return(false);
            }
            AssetServer.SetProjectName(string.Format("{0} @ {1}", str3, str2));
            string[] textArray1       = new string[] { "host='", str2, "' user='******' password='******' dbname='", str4, "' port='", str5, "' sslmode=disable ", config["Maint Connection Settings"] };
            string   connectionString = string.Concat(textArray1);

            AssetServer.Initialize(user, connectionString, num);
            return(true);
        }
Пример #12
0
 private void DoGetUsers()
 {
     MaintUserRecord[] users = AssetServer.AdminGetUsers(this.databases[this.lv.row].dbName);
     this.users         = users == null ? new MaintUserRecord[0] : users;
     this.lv2.totalRows = this.users.Length;
     this.lv2.row       = -1;
 }
Пример #13
0
        public void DoRecover()
        {
            string[] selectedDeletedItemGUIDs   = this.GetSelectedDeletedItemGUIDs();
            Dictionary <string, int> dictionary = new Dictionary <string, int>();
            int num = 0;

            for (int i = 0; i < selectedDeletedItemGUIDs.Length; i++)
            {
                for (int j = 0; j < this.m_DeletedItems.Length; j++)
                {
                    if (this.m_DeletedItems[j].guid == selectedDeletedItemGUIDs[i])
                    {
                        dictionary[this.m_DeletedItems[j].guid] = j;
                        break;
                    }
                }
            }
            DeletedAsset[] assets = new DeletedAsset[dictionary.Count];
            while (dictionary.Count != 0)
            {
                DeletedAsset asset = null;
                foreach (KeyValuePair <string, int> pair in dictionary)
                {
                    asset = this.m_DeletedItems[pair.Value];
                    if (!dictionary.ContainsKey(asset.parent))
                    {
                        assets[num++] = asset;
                        break;
                    }
                }
                dictionary.Remove(asset.guid);
            }
            AssetServer.SetAfterActionFinishedCallback("ASEditorBackend", "CBReinitASMainWindow");
            AssetServer.DoRecoverOnNextTick(assets);
        }
Пример #14
0
        public static bool Testing_SetupDatabase(string host, int port, string adminUser, string adminPwd, string user, string pwd, string projectName)
        {
            AssetServer.AdminSetCredentials(host, port, adminUser, adminPwd);
            MaintDatabaseRecord[] array = AssetServer.AdminRefreshDatabases();
            if (array == null)
            {
                return(false);
            }
            MaintDatabaseRecord[] array2 = array;
            for (int i = 0; i < array2.Length; i++)
            {
                MaintDatabaseRecord maintDatabaseRecord = array2[i];
                if (maintDatabaseRecord.name == projectName)
                {
                    AssetServer.AdminDeleteDB(projectName);
                }
            }
            if (AssetServer.AdminCreateDB(projectName) == 0)
            {
                return(false);
            }
            string databaseName = AssetServer.GetDatabaseName(host, adminUser, adminPwd, port.ToString(), projectName);

            if (!AssetServer.AdminSetUserEnabled(databaseName, user, user, string.Empty, 1))
            {
                return(false);
            }
            ASEditorBackend.Testing_SetActiveDatabase(host, port, projectName, databaseName, user, pwd);
            return(true);
        }
Пример #15
0
        private void DoConnect()
        {
            EditorPrefs.SetString("ASAdminServer", this.server);
            this.userSelected    = false;
            this.isConnected     = false;
            this.projectSelected = false;
            this.lv.row          = -1;
            this.lv2.row         = -1;
            this.lv.totalRows    = 0;
            this.lv2.totalRows   = 0;
            int    result = 10733;
            string server;

            if (this.server.IndexOf(":") > 0)
            {
                int.TryParse(this.server.Substring(this.server.IndexOf(":") + 1), out result);
                server = this.server.Substring(0, this.server.IndexOf(":"));
            }
            else
            {
                server = this.server;
            }
            AssetServer.AdminSetCredentials(server, result, this.user, this.password);
            this.DoRefreshDatabases();
        }
Пример #16
0
 private static void Testing_Invoke(string klass, string method, params object[] prms)
 {
     try
     {
         AppDomain  currentDomain = AppDomain.CurrentDomain;
         Assembly[] assemblies    = currentDomain.GetAssemblies();
         for (int i = 0; i < assemblies.Length; i++)
         {
             Assembly assembly = assemblies[i];
             if (assembly.GetName().Name != "UnityEditor" && assembly.GetName().Name != "UnityEngine")
             {
                 Type[] typesFromAssembly = AssemblyHelper.GetTypesFromAssembly(assembly);
                 for (int j = 0; j < typesFromAssembly.Length; j++)
                 {
                     Type type = typesFromAssembly[j];
                     if (type.Name == klass)
                     {
                         type.InvokeMember(method, BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.InvokeMethod, null, null, prms);
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         if (ex.InnerException != null && ex.InnerException.GetType() == typeof(ExitGUIException))
         {
             throw ex;
         }
         ASEditorBackend.Testing_Invoke(AssetServer.GetString("s_ExceptionHandlerClass"), AssetServer.GetString("s_ExceptionHandlerFunction"), new object[]
         {
             ex
         });
     }
 }
Пример #17
0
        private void DoShowProjects()
        {
            int    num  = 10733;
            string text = this.serverAddress;

            if (text.IndexOf(":") > 0)
            {
                int.TryParse(text.Substring(text.IndexOf(":") + 1), out num);
                text = text.Substring(0, text.IndexOf(":"));
            }
            AssetServer.AdminSetCredentials(text, num, this.userName, this.password);
            MaintDatabaseRecord[] array = AssetServer.AdminRefreshDatabases();
            if (array != null)
            {
                this.projectsList = new string[array.Length];
                for (int i = 0; i < array.Length; i++)
                {
                    this.projectsList[i] = array[i].name;
                }
                this.projectsLv.totalRows = array.Length;
                this.GetDefaultPListConfig();
                this.plc["Maint Server"]      = text;
                this.plc["Maint UserName"]    = this.userName;
                this.plc["Maint port number"] = this.port;
                this.plc.Save();
                ASEditorBackend.SetPassword(text, this.userName, this.password);
                ASEditorBackend.AddUser(this.serverAddress, this.userName);
            }
            else
            {
                this.projectsLv.totalRows = 0;
            }
        }
Пример #18
0
        public static bool Testing_SetupDatabase(string host, int port, string adminUser, string adminPwd, string user, string pwd, string projectName)
        {
            AssetServer.AdminSetCredentials(host, port, adminUser, adminPwd);
            MaintDatabaseRecord[] recordArray = AssetServer.AdminRefreshDatabases();
            if (recordArray == null)
            {
                return(false);
            }
            foreach (MaintDatabaseRecord record in recordArray)
            {
                if (record.name == projectName)
                {
                    AssetServer.AdminDeleteDB(projectName);
                }
            }
            if (AssetServer.AdminCreateDB(projectName) == 0)
            {
                return(false);
            }
            string databaseName = AssetServer.GetDatabaseName(host, adminUser, adminPwd, port.ToString(), projectName);

            if (!AssetServer.AdminSetUserEnabled(databaseName, user, user, string.Empty, 1))
            {
                return(false);
            }
            Testing_SetActiveDatabase(host, port, projectName, databaseName, user, pwd);
            return(true);
        }
        private void PerformCurrentAction()
        {
            switch (this.currAction)
            {
            case Action.Main:
                this.currAction = Action.Main;
                this.DoConnect();
                Event.current.Use();
                return;

            case Action.CreateUser:
                AssetServer.AdminCreateUser(this.nUserName, this.nFullName, this.nEmail, this.nPassword1);
                this.currAction = Action.Main;
                if (this.lv.row > -1)
                {
                    this.DoGetUsers();
                }
                Event.current.Use();
                return;

            case Action.SetPassword:
                AssetServer.AdminChangePassword(this.users[this.lv2.row].userName, this.nPassword1);
                this.currAction = Action.Main;
                Event.current.Use();
                return;

            case Action.CreateProject:
                if (AssetServer.AdminCreateDB(this.nProjectName, this.nTemplateProjectName) != 0)
                {
                    this.DoRefreshDatabases();
                    for (int i = 0; i < this.databases.Length; i++)
                    {
                        if (this.databases[i].name == this.nProjectName)
                        {
                            this.lv.row = i;
                            this.DoGetUsers();
                            break;
                        }
                    }
                }
                break;

            case Action.ModifyUser:
                AssetServer.AdminModifyUserInfo(this.databases[this.lv.row].dbName, this.users[this.lv2.row].userName, this.nFullName, this.nEmail);
                this.currAction = Action.Main;
                if (this.lv.row > -1)
                {
                    this.DoGetUsers();
                }
                Event.current.Use();
                return;

            default:
                return;
            }
            this.currAction = Action.Main;
            Event.current.Use();
        }
Пример #20
0
 internal static IEnumerable <ExportPackageItem> GetAssetItemsForExport(ICollection <string> guids, bool includeDependencies)
 {
     if (guids.Count == 0)
     {
         string[] collection = new string[0];
         guids = new HashSet <string>(AssetServer.CollectAllChildren(AssetServer.GetRootGUID(), collection));
     }
     if (< > f__am$cache5 == null)
     {
Пример #21
0
 public static string[] Testing_GetAllDatabaseNames()
 {
     MaintDatabaseRecord[] recordArray = AssetServer.AdminRefreshDatabases();
     string[] strArray = new string[recordArray.Length];
     for (int i = 0; i < recordArray.Length; i++)
     {
         strArray[i] = recordArray[i].name;
     }
     return(strArray);
 }
Пример #22
0
 public static string[] Testing_GetAllDatabaseNames()
 {
     MaintDatabaseRecord[] maintDatabaseRecordArray = AssetServer.AdminRefreshDatabases();
     string[] strArray = new string[maintDatabaseRecordArray.Length];
     for (int index = 0; index < maintDatabaseRecordArray.Length; ++index)
     {
         strArray[index] = maintDatabaseRecordArray[index].name;
     }
     return(strArray);
 }
Пример #23
0
 public static string[] Testing_GetAllDatabaseNames()
 {
     MaintDatabaseRecord[] array = AssetServer.AdminRefreshDatabases();
     string[] array2             = new string[array.Length];
     for (int i = 0; i < array.Length; i++)
     {
         array2[i] = array[i].name;
     }
     return(array2);
 }
Пример #24
0
        private ChangeFlags GetChangeFlags()
        {
            string gUID = this.GetGUID();

            if (gUID == string.Empty)
            {
                return(ChangeFlags.None);
            }
            return(AssetServer.GetChangeFlags(gUID));
        }
Пример #25
0
 public bool DoUpdate(bool afterResolvingConflicts)
 {
     AssetServer.RemoveMaintErrorsFromConsole();
     if (ASEditorBackend.SettingsIfNeeded())
     {
         this.showingConflicts = false;
         AssetServer.SetAfterActionFinishedCallback("ASEditorBackend", "CBReinitOnSuccess");
         AssetServer.DoUpdateOnNextTick(!afterResolvingConflicts, "ShowASConflictResolutionsWindow");
     }
     return(true);
 }
Пример #26
0
 private bool AtLeastOneSelectedAssetCanBeMerged()
 {
     for (int i = 0; i < this.downloadConflicts.Length; i++)
     {
         if (this.selectedLV1Items[i] && !AssetServer.AssetIsBinaryByGUID(this.downloadConflicts[i]) && !AssetServer.IsItemDeleted(this.downloadConflicts[i]))
         {
             return(true);
         }
     }
     return(false);
 }
Пример #27
0
        private void DoShowDiff(string guid)
        {
            List <string>      list  = new List <string>();
            List <CompareInfo> list2 = new List <CompareInfo>();
            int workingItemChangeset = AssetServer.GetWorkingItemChangeset(guid);

            list.Add(guid);
            list2.Add(new CompareInfo(workingItemChangeset, -1, 0, 1));
            Debug.Log("Comparing asset revisions " + workingItemChangeset.ToString() + " and Local");
            AssetServer.CompareFiles(list.ToArray(), list2.ToArray());
        }
Пример #28
0
 private void DownloadFile()
 {
     if ((this.ChangeLogSelectionRev >= 0) && (this.m_ChangeLogSelectionGUID != string.Empty))
     {
         string[] textArray1 = new string[] { "Are you sure you want to download '", this.m_ChangeLogSelectionAssetName, "' from revision ", this.ChangeLogSelectionRev.ToString(), " and lose all changes?" };
         if (EditorUtility.DisplayDialog("Download file", string.Concat(textArray1), "Download", "Cancel"))
         {
             AssetServer.DoRevertOnNextTick(this.ChangeLogSelectionRev, this.m_ChangeLogSelectionGUID);
         }
     }
 }
Пример #29
0
 private void SetupDeletedItems()
 {
     this.m_DeletedItems = AssetServer.GetServerDeletedItems();
     this.m_DelPVstate.Clear();
     this.m_DelPVstate.lv = new ListViewState(0);
     this.m_DelPVstate.AddAssetItems(this.m_DeletedItems);
     this.m_DelPVstate.AddAssetItems(AssetServer.GetLocalDeletedItems());
     this.m_DelPVstate.SetLineCount();
     this.m_DelPVstate.selectedItems = new bool[this.m_DelPVstate.lv.totalRows];
     this.m_DeletedItemsInitialized  = true;
 }
Пример #30
0
        private void ResolveSelectedDownloadConflicts(DownloadResolution res)
        {
            int  num  = -1;
            bool flag = false;
            int  i    = 0;

            while (i < this.downloadConflicts.Length)
            {
                if (this.selectedLV1Items[i])
                {
                    string guid = this.downloadConflicts[i];
                    if (res == DownloadResolution.Merge && (AssetServer.AssetIsBinaryByGUID(guid) || AssetServer.IsItemDeleted(guid)))
                    {
                        flag = true;
                    }
                    else
                    {
                        if (res != DownloadResolution.Unresolved)
                        {
                            if (AssetServer.GetDownloadResolution(guid) == DownloadResolution.Unresolved)
                            {
                                this.downloadConflictsToResolve--;
                            }
                        }
                        else
                        {
                            this.downloadConflictsToResolve++;
                        }
                        this.downloadResolutions[i] = res;
                        AssetServer.SetDownloadResolution(guid, res);
                        num = ((num != -1) ? -2 : i);
                    }
                }
IL_9F:
                i++;
                continue;
                goto IL_9F;
            }
            this.enableContinueButton = (this.downloadConflictsToResolve == 0);
            if (num >= 0)
            {
                this.selectedLV1Items[num] = false;
                if (num < this.selectedLV1Items.Length - 1)
                {
                    this.selectedLV1Items[num + 1] = true;
                }
            }
            this.enableMergeButton = this.AtLeastOneSelectedAssetCanBeMerged();
            if (flag)
            {
                EditorUtility.DisplayDialog("Some conflicting changes cannot be merged", "Notice that not all selected changes where selected for merging. This happened because not all of them can be merged (e.g. assets are binary or deleted).", "OK");
            }
        }