refactor the runtime code

重构了运行时代码,支持全新的文件系统。
This commit is contained in:
何冠峰
2024-07-04 20:36:26 +08:00
parent 2987d356b6
commit ff02da5c54
313 changed files with 9889 additions and 7234 deletions
@@ -0,0 +1,45 @@
using System;
using System.IO;
namespace YooAsset
{
internal class FileSystemHelper
{
/// <summary>
/// 文件校验
/// </summary>
public static EFileVerifyResult FileVerify(string filePath, long fileSize, string fileCRC, EFileVerifyLevel verifyLevel)
{
try
{
if (File.Exists(filePath) == false)
return EFileVerifyResult.DataFileNotExisted;
// 先验证文件大小
long size = FileUtility.GetFileSize(filePath);
if (size < fileSize)
return EFileVerifyResult.FileNotComplete;
else if (size > fileSize)
return EFileVerifyResult.FileOverflow;
// 再验证文件CRC
if (verifyLevel == EFileVerifyLevel.High)
{
string crc = HashUtility.FileCRC32Safely(filePath);
if (crc == fileCRC)
return EFileVerifyResult.Succeed;
else
return EFileVerifyResult.FileCrcError;
}
else
{
return EFileVerifyResult.Succeed;
}
}
catch (Exception)
{
return EFileVerifyResult.Exception;
}
}
}
}