private static string[] OnWillSaveAssets(string[] paths)
        {
            EditorApplication.delayCall += () =>
            {
                foreach (var path in paths)
                {
                    SmartNetIdentityManager.Add(path);
                }

                IdentityLibrary.RemoveNullReferences();
            };

            return(paths);
        }
        public static bool Remove(SmartNetIdentity identity)
        {
            Init();

            if (identity == null)
            {
                return(false);
            }

            IdentityLibrary.RemoveNullReferences();

            if (IdentityLibrary.Remove(identity))
            {
                UnityEditor.EditorUtility.SetDirty(IdentityLibrary.Ins);
                return(true);
            }

            return(false);
        }
        public static bool Add(string file)
        {
            Init();

            var identity = GetIdentity(file);

            if (identity == null)
            {
                return(false);
            }

            TryAssignNewId(identity);
            IdentityLibrary.RemoveNullReferences();

            if (IdentityLibrary.Add(identity))
            {
                UnityEditor.EditorUtility.SetDirty(IdentityLibrary.Ins);
                return(true);
            }

            return(false);
        }