using System;
using System.Collections.Generic;
using System.IO;
namespace GFGEditor
{
public class FileHelper
{
///
///
///
///
/// ,路径比须从Asset起,例如"Assets/Res/Effect"
///
public static void ForeachFileInDir(string dirPath, List excludeDirs, Action action)
{
List excludeDirPaths = new List();
if (excludeDirs != null)
{
foreach (var excDir in excludeDirs)
{
var t = Environment.CurrentDirectory + "/" + excDir;
t = t.Replace('\\', '/');
excludeDirPaths.Add(t);
}
}
var t1 = dirPath.Replace('\\', '/');
if (Directory.Exists(dirPath) && !excludeDirPaths.Contains(t1))
{
var files = Directory.GetFiles(dirPath);
var dirs = Directory.GetDirectories(dirPath);
foreach (var file in files)
{
action?.Invoke(file);
}
foreach (var dir in dirs)
{
ForeachFileInDir(dir, excludeDirs, action);
}
}
}
}
}