mod:修改帮助类的功能,并进行详细注释

master
zxl 2024-12-18 11:32:47 +08:00
parent 662f80a092
commit 0a31a3a65d
4 changed files with 137 additions and 42 deletions

View File

@ -8,6 +8,11 @@ namespace ZXL.Helper
{
public static class CommonHelper
{
/// <summary>
/// 遍历更改所有子物体的layer
/// </summary>
/// <param name="self"></param>
/// <param name="layer"></param>
public static void SetWithChildLayer(this Transform self, LayerMask layer)
{
List<Transform> findDeep = new List<Transform>();
@ -23,7 +28,13 @@ namespace ZXL.Helper
}
}
/// <summary>
/// 遍历查找并返回名字对应的物体
/// </summary>
/// <param name="self"></param>
/// <param name="name"></param>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public static T FindChildDeep<T>(this Transform self, string name) where T : Object
{
Transform findDeep = null;
@ -93,6 +104,14 @@ namespace ZXL.Helper
return rendererIsInsideBox;
}
/// <summary>
/// 调用win的消息弹窗
/// </summary>
/// <param name="title"></param>
/// <param name="content"></param>
/// <param name="okAction"></param>
/// <param name="cancelAction"></param>
/// <param name="type"></param>
public static void MessageBox(string title, string content, Action okAction, Action cancelAction,
MessageBoxType type = MessageBoxType.)
{

View File

@ -8,38 +8,22 @@ namespace ZXL.Helper
{
public static class FileHelper
{
/// <summary>
/// 不存在文件夹就创建
/// </summary>
/// <param name="srcRootPath"></param>
public static void CreateDirectory(string srcRootPath)
{
if (!Directory.Exists(srcRootPath))
Directory.CreateDirectory(srcRootPath);
}
#region File
/// <summary>
/// 删除文件夹(递归删除所有子文件)
/// 创建文件,并写入内容
/// </summary>
/// <param name="srcRootPath"></param>
public static void DeleteFolder(string srcRootPath)
/// <param name="srcFilePath"></param>
/// <param name="bytes"></param>
public static void CreateFile(string srcFilePath, byte[] bytes)
{
if (!Directory.Exists(srcRootPath))
return;
DirectoryInfo dir = new DirectoryInfo(srcRootPath);
dir.Delete(true);
}
/// <summary>
/// 移动文件夹到指定位置(包括所有子文件)
/// </summary>
/// <param name="srcRootPath"></param>
/// <param name="destRootPath"></param>
public static void MoveFolderWithFiles(string srcRootPath, string destRootPath)
{
CopyFolderWithFiles(srcRootPath, destRootPath);
DeleteFolder(srcRootPath);
FileInfo file = new FileInfo(srcFilePath);
if (file.Directory != null) file.Directory.Create();
Stream sw;
sw = file.Create();
sw.Write(bytes, 0, bytes.Length);
sw.Close();
sw.Dispose();
}
/// <summary>
@ -59,18 +43,12 @@ namespace ZXL.Helper
return newPath;
}
public static string RenameFolder(string srcFilePath, string newName)
{
if (string.IsNullOrEmpty(newName))
return null;
var directoryInfo = new DirectoryInfo(srcFilePath);
var newPath = Path.Combine(directoryInfo.Parent.FullName, newName);
Debug.Log(newPath);
directoryInfo.MoveTo(newPath);
return newPath;
}
/// <summary>
/// 弃用
/// </summary>
/// <param name="srcFilePath"></param>
/// <param name="newName"></param>
[Obsolete("弃用,不允许重名")]
public static void RenameFiles(string srcFilePath, string newName)
{
if (string.IsNullOrEmpty(newName))
@ -83,6 +61,10 @@ namespace ZXL.Helper
}
}
/// <summary>
/// 准确说这个应该叫拷贝,因为这个是复制在同一个文件夹下
/// </summary>
/// <param name="srcFilePath"></param>
public static void CopyFile(string srcFilePath)
{
var info = new FileInfo(srcFilePath);
@ -91,6 +73,83 @@ namespace ZXL.Helper
File.Copy(srcFilePath, newFilePath, true);
}
/// <summary>
/// 移动文件到指定位置
/// </summary>
/// <param name="srcFilePath"></param>
/// <param name="newFilePath"></param>
public static void MoveFile(string srcFilePath, string newFilePath)
{
var info = new FileInfo(srcFilePath);
info.MoveTo(newFilePath);
}
/// <summary>
/// 删除文件(不可逆,慎用)
/// </summary>
/// <param name="srcFilePath"></param>
public static void DeleteFile(string srcFilePath)
{
FileInfo file = new FileInfo(srcFilePath);
file.Delete();
}
#endregion
#region Directory
/// <summary>
/// 不存在文件夹就创建
/// </summary>
/// <param name="srcRootPath"></param>
public static void CreateDirectory(string srcRootPath)
{
if (!Directory.Exists(srcRootPath))
Directory.CreateDirectory(srcRootPath);
}
/// <summary>
/// 删除文件夹(递归删除所有子文件)
/// </summary>
/// <param name="srcRootPath"></param>
public static void DeleteDirectory(string srcRootPath)
{
if (!Directory.Exists(srcRootPath))
return;
DirectoryInfo dir = new DirectoryInfo(srcRootPath);
dir.Delete(true);
}
/// <summary>
/// 移动文件夹到指定位置(包括所有子文件)
/// </summary>
/// <param name="srcRootPath"></param>
/// <param name="destRootPath"></param>
public static void MoveDirectoryWithFiles(string srcRootPath, string destRootPath)
{
CopyFolderWithFiles(srcRootPath, destRootPath);
DeleteDirectory(srcRootPath);
}
/// <summary>
/// 重命名文件夹
/// </summary>
/// <param name="srcFilePath"></param>
/// <param name="newName"></param>
/// <returns></returns>
public static string RenameDirectory(string srcFilePath, string newName)
{
if (string.IsNullOrEmpty(newName))
return null;
var directoryInfo = new DirectoryInfo(srcFilePath);
var newPath = Path.Combine(directoryInfo.Parent.FullName, newName);
Debug.Log(newPath);
directoryInfo.MoveTo(newPath);
return newPath;
}
/// <summary>
/// 复制文件夹到指定位置(包括所有子文件)
/// </summary>
@ -152,5 +211,7 @@ namespace ZXL.Helper
CopyFolderWithFiles(srcDirectoryFullName, Path.Combine(destRootPath, srcDirectoryBaseRootPath));
}
}
#endregion
}
}

View File

@ -4,6 +4,11 @@ namespace ZXL.Helper
{
public static class TextureHelper
{
/// <summary>
/// 精灵图片转纹理
/// </summary>
/// <param name="sprite"></param>
/// <returns></returns>
public static Texture2D TextureToSprite(Sprite sprite)
{
// 获取 Sprite 的纹理
@ -23,6 +28,11 @@ namespace ZXL.Helper
return texture2D;
}
/// <summary>
/// 纹理转精灵图片
/// </summary>
/// <param name="texture"></param>
/// <returns></returns>
public static Sprite TextureToSprite(Texture2D texture)
{
Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height),
@ -30,6 +40,11 @@ namespace ZXL.Helper
return sprite;
}
/// <summary>
/// 截取相机画面内容并返回()
/// </summary>
/// <param name="camera"></param>
/// <returns></returns>
public static Texture2D SaveCameraToTexture(Camera camera)
{
Texture2D capturedImage;

View File

@ -333,7 +333,7 @@ namespace ZXL.Manager
public void MoveAsset(string oldPath, string newPath)
{
FileHelper.MoveFolderWithFiles(oldPath, newPath);
FileHelper.MoveDirectoryWithFiles(oldPath, newPath);
}
#endregion