private void AddAllFoundCommand() { if (!IsLoading) { lock (infoToAdd) { if (infoToAdd.Count > 0) { foreach (var info in infoToAdd) { AddCommand(info.CommandName, info); } } infoToAdd.Clear(); OnCommandLoadingDone?.Invoke(); BaseCategories.Sort(); CommandCategory history = new CommandCategory(); history.CategoryName = CommandHistory; if (!BaseCategories.Contains(history.CategoryName)) { BaseCategories.Insert(0, history.CategoryName); } if (!CategoriesByName.ContainsKey(history.CategoryName)) { CategoriesByName.Add(history.CategoryName, history); } EditorApplication.update -= AddAllFoundCommand; } } else { lock (infoToAdd) { foreach (var info in infoToAdd) { AddCommand(info.CommandName, info); } infoToAdd.Clear(); } } }
private static void InvokeOnCommandLoadingDone() { OnCommandLoadingDone?.Invoke(); }