コード例 #1
0
ファイル: ResBuilder.cs プロジェクト: hbszqf/UnityFrameWork
        private void MarkABFolder(ResBuilderConfig.ABFolder abFolder)
        {
            string folder  = abFolder.folder.Replace(@"\", "/");
            string folder2 = ResHelper.RES_PATH + abFolder.folder;

            if (!folder.EndsWith("/"))
            {
                folder2 += "/";
            }

            var assetPaths = AssetDatabase.GetAllAssetPaths().Where((path) =>
            {
                if (!path.StartsWith(folder2))
                {
                    return(false);
                }
                if (Directory.Exists(path))
                {
                    return(false);
                }
                if (path.EndsWith(".cs") || path.EndsWith(".asset"))
                {
                    return(false);
                }

                //过滤失败
                if (abFolder.filter != null)
                {
                    if (!abFolder.filter(path))
                    {
                        return(false);
                    }
                }

                if (config.CheckIsExport != null)
                {
                    if (!config.CheckIsExport(path))
                    {
                        return(false);
                    }
                }

                return(true);
            });


            //assetPaths
            foreach (var assetPath in assetPaths)
            {
                MarkABAsset(assetPath, abFolder.renamer);
            }
        }