Example #1
0
        private List <string> GetRawAssetMods(AssetSnapshot snapshot, string srcDir)
        {
            List <string> mod = new List <string>();

            foreach (string assetPath in EditorAssetUtil.ListAssetPaths(srcDir, FileType.All, true))
            {
                if (assetPath.EndsWithIgnoreCase(".meta") || Path.GetFileName(assetPath).StartsWith(".", StringComparison.Ordinal))
                {
                    continue;
                }

                AssetDigest digest = snapshot.GetAssetDigest(assetPath);
                if (digest.IsModified())
                {
                    mod.Add(assetPath);
                }
            }
            return(mod);
        }
Example #2
0
        static bool IsDepModified(AssetSnapshot snapshot, AssetDigest digest)
        {
            string[] dependPaths = AssetDatabase.GetDependencies(new string[] { "Assets/" + digest.path });
            bool     modified    = digest.IsModified();

            // check dependencies midified
            for (int i = 0; i < dependPaths.Length; ++i)
            {
                dependPaths[i] = EditorAssetUtil.GetAssetRelativePath(dependPaths[i]);
                if (digest.path == dependPaths[i])
                {
                    continue;
                }
                AssetDigest depDigest = snapshot.GetDependDigest(dependPaths[i]);
                modified |= depDigest.IsModified();
                if (depDigest.path.Is(FileType.Asset, FileType.Prefab))
                {
                    modified |= IsDepModified(snapshot, depDigest);
                }
            }
            return(modified);
        }