com.guru.unity.max/Editor/EditorExtention.cs

59 lines
1.5 KiB
C#

using System.IO;
namespace Guru.Editor
{
public static class GuruEditorExtentions
{
public static bool FileExists(this IFileIO _, string filePath) => File.Exists(filePath);
public static bool DirectoryExists(this IFileIO _, string directoryPath) => Directory.Exists(directoryPath);
public static void EnsureDir(this IFileIO _, string dirPath)
{
var dir = new DirectoryInfo(dirPath);
if(!dir.Exists) dir.Create();
}
public static void EnsureRootDir(this IFileIO _, string filePath) =>
EnsureDir(_, Directory.GetParent(filePath)?.FullName);
public static bool DeleteFile(this IFileIO _, string filePath)
{
if (FileExists(_, filePath))
{
File.Delete(filePath);
return true;
}
return false;
}
public static bool MoveFile(this IFileIO _,string from, string to)
{
if (FileExists(_, from))
{
EnsureRootDir(_, to);
DeleteFile(_, to);
File.Move(from, to);
return true;
}
return false;
}
public static bool CopyFile(this IFileIO _,string from, string to)
{
if (FileExists(_, from))
{
EnsureRootDir(_, to);
File.Copy(from, to);
return true;
}
return false;
}
}
}