update file system

This commit is contained in:
何冠峰
2024-07-07 00:52:17 +08:00
parent 481711fd75
commit bafd15571a
68 changed files with 483 additions and 889 deletions

View File

@@ -1,7 +1,4 @@
using System.IO;
using System.Collections.Generic;
using UnityEngine;

namespace YooAsset
{
internal class BundleInfo
@@ -54,7 +51,9 @@ namespace YooAsset
/// </summary>
public FSDownloadFileOperation CreateDownloader(int failedTryAgain, int timeout)
{
return _fileSystem.DownloadFileAsync(Bundle, _importFilePath, failedTryAgain, timeout);
DownloadParam downloadParam = new DownloadParam(failedTryAgain, timeout);
downloadParam.ImportFilePath = _importFilePath;
return _fileSystem.DownloadFileAsync(Bundle, downloadParam);
}
/// <summary>

View File

@@ -7,11 +7,7 @@ namespace YooAsset
public abstract class ClearAllBundleFilesOperation : AsyncOperationBase
{
}
/// <summary>
/// 通用类
/// </summary>
internal sealed class DefaultClearAllBundleFilesOperation : ClearAllBundleFilesOperation
internal sealed class ClearAllBundleFilesImplOperation : ClearAllBundleFilesOperation
{
private enum ESteps
{
@@ -31,7 +27,7 @@ namespace YooAsset
private FSClearAllBundleFilesOperation _clearAllBundleFilesOpC;
private ESteps _steps = ESteps.None;
internal DefaultClearAllBundleFilesOperation(IPlayMode impl, IFileSystem fileSystemA, IFileSystem fileSystemB, IFileSystem fileSystemC)
internal ClearAllBundleFilesImplOperation(IPlayMode impl, IFileSystem fileSystemA, IFileSystem fileSystemB, IFileSystem fileSystemC)
{
_impl = impl;
_fileSystemA = fileSystemA;

View File

@@ -7,11 +7,7 @@ namespace YooAsset
public abstract class ClearUnusedBundleFilesOperation : AsyncOperationBase
{
}
/// <summary>
/// 通用类
/// </summary>
internal sealed class DefaultClearUnusedBundleFilesOperation : ClearUnusedBundleFilesOperation
internal sealed class ClearUnusedBundleFilesImplOperation : ClearUnusedBundleFilesOperation
{
private enum ESteps
{
@@ -31,7 +27,7 @@ namespace YooAsset
private FSClearUnusedBundleFilesOperation _clearUnusedBundleFilesOpC;
private ESteps _steps = ESteps.None;
internal DefaultClearUnusedBundleFilesOperation(IPlayMode impl, IFileSystem fileSystemA, IFileSystem fileSystemB, IFileSystem fileSystemC)
internal ClearUnusedBundleFilesImplOperation(IPlayMode impl, IFileSystem fileSystemA, IFileSystem fileSystemB, IFileSystem fileSystemC)
{
_impl = impl;
_fileSystemA = fileSystemA;

View File

@@ -85,7 +85,7 @@ namespace YooAsset
if (_steps == ESteps.LoadManifestFile)
{
if (_loadPackageManifestOp == null)
_loadPackageManifestOp = _impl.EditorFileSystem.LoadPackageManifestAsync(null);
_loadPackageManifestOp = _impl.EditorFileSystem.LoadPackageManifestAsync(null, int.MaxValue);
Progress = _loadPackageManifestOp.Progress;
if (_loadPackageManifestOp.IsDone == false)
@@ -94,7 +94,7 @@ namespace YooAsset
if (_loadPackageManifestOp.Status == EOperationStatus.Succeed)
{
_steps = ESteps.Done;
_impl.ActiveManifest = _loadPackageManifestOp.Result;
_impl.ActiveManifest = _loadPackageManifestOp.Manifest;
Status = EOperationStatus.Succeed;
}
else
@@ -187,7 +187,7 @@ namespace YooAsset
if (_steps == ESteps.LoadManifestFile)
{
if (_loadPackageManifestOp == null)
_loadPackageManifestOp = _impl.BuildinFileSystem.LoadPackageManifestAsync(null);
_loadPackageManifestOp = _impl.BuildinFileSystem.LoadPackageManifestAsync(null, int.MaxValue);
Progress = _loadPackageManifestOp.Progress;
if (_loadPackageManifestOp.IsDone == false)
@@ -196,7 +196,7 @@ namespace YooAsset
if (_loadPackageManifestOp.Status == EOperationStatus.Succeed)
{
_steps = ESteps.Done;
_impl.ActiveManifest = _loadPackageManifestOp.Result;
_impl.ActiveManifest = _loadPackageManifestOp.Manifest;
Status = EOperationStatus.Succeed;
}
else

View File

@@ -204,7 +204,7 @@ namespace YooAsset
if (_loadPackageManifestOp.Status == EOperationStatus.Succeed)
{
_manifest = _loadPackageManifestOp.Result;
_manifest = _loadPackageManifestOp.Manifest;
_steps = ESteps.Done;
Status = EOperationStatus.Succeed;
}

View File

@@ -11,11 +11,7 @@ namespace YooAsset
/// </summary>
public string PackageVersion { protected set; get; }
}
/// <summary>
/// 通用类
/// </summary>
internal sealed class DefaultRequestPackageVersionOperation : RequestPackageVersionOperation
internal sealed class RequestPackageVersionImplOperation : RequestPackageVersionOperation
{
private enum ESteps
{
@@ -30,7 +26,7 @@ namespace YooAsset
private FSRequestPackageVersionOperation _requestPackageVersionOp;
private ESteps _steps = ESteps.None;
internal DefaultRequestPackageVersionOperation(IFileSystem fileSystem, bool appendTimeTicks, int timeout)
internal RequestPackageVersionImplOperation(IFileSystem fileSystem, bool appendTimeTicks, int timeout)
{
_fileSystem = fileSystem;
_appendTimeTicks = appendTimeTicks;

View File

@@ -7,11 +7,7 @@ namespace YooAsset
public abstract class UpdatePackageManifestOperation : AsyncOperationBase
{
}
/// <summary>
/// 通用类
/// </summary>
internal sealed class DefaultUpdatePackageManifestOperation : UpdatePackageManifestOperation
internal sealed class UpdatePackageManifestImplOperation : UpdatePackageManifestOperation
{
private enum ESteps
{
@@ -30,7 +26,7 @@ namespace YooAsset
private ESteps _steps = ESteps.None;
internal DefaultUpdatePackageManifestOperation(IPlayMode impl, IFileSystem fileSystem, string packageVersion, int timeout)
internal UpdatePackageManifestImplOperation(IPlayMode impl, IFileSystem fileSystem, string packageVersion, int timeout)
{
_impl = impl;
_fileSystem = fileSystem;
@@ -85,7 +81,7 @@ namespace YooAsset
if (_loadPackageManifestOp.Status == EOperationStatus.Succeed)
{
_steps = ESteps.Done;
_impl.ActiveManifest = _loadPackageManifestOp.Result;
_impl.ActiveManifest = _loadPackageManifestOp.Manifest;
Status = EOperationStatus.Succeed;
}
else

View File

@@ -36,13 +36,13 @@ namespace YooAsset
RequestPackageVersionOperation IPlayMode.RequestPackageVersionAsync(bool appendTimeTicks, int timeout)
{
var operation = new DefaultRequestPackageVersionOperation(EditorFileSystem, appendTimeTicks, timeout);
var operation = new RequestPackageVersionImplOperation(EditorFileSystem, appendTimeTicks, timeout);
OperationSystem.StartOperation(PackageName, operation);
return operation;
}
UpdatePackageManifestOperation IPlayMode.UpdatePackageManifestAsync(string packageVersion, int timeout)
{
var operation = new DefaultUpdatePackageManifestOperation(this, EditorFileSystem, packageVersion, timeout);
var operation = new UpdatePackageManifestImplOperation(this, EditorFileSystem, packageVersion, timeout);
OperationSystem.StartOperation(PackageName, operation);
return operation;
}
@@ -55,13 +55,13 @@ namespace YooAsset
ClearAllBundleFilesOperation IPlayMode.ClearAllBundleFilesAsync()
{
var operation = new DefaultClearAllBundleFilesOperation(this, EditorFileSystem, null, null);
var operation = new ClearAllBundleFilesImplOperation(this, EditorFileSystem, null, null);
OperationSystem.StartOperation(PackageName, operation);
return operation;
}
ClearUnusedBundleFilesOperation IPlayMode.ClearUnusedBundleFilesAsync()
{
var operation = new DefaultClearUnusedBundleFilesOperation(this, EditorFileSystem, null, null);
var operation = new ClearUnusedBundleFilesImplOperation(this, EditorFileSystem, null, null);
OperationSystem.StartOperation(PackageName, operation);
return operation;
}

View File

@@ -44,13 +44,13 @@ namespace YooAsset
RequestPackageVersionOperation IPlayMode.RequestPackageVersionAsync(bool appendTimeTicks, int timeout)
{
var operation = new DefaultRequestPackageVersionOperation(CacheFileSystem, appendTimeTicks, timeout);
var operation = new RequestPackageVersionImplOperation(CacheFileSystem, appendTimeTicks, timeout);
OperationSystem.StartOperation(PackageName, operation);
return operation;
}
UpdatePackageManifestOperation IPlayMode.UpdatePackageManifestAsync(string packageVersion, int timeout)
{
var operation = new DefaultUpdatePackageManifestOperation(this, CacheFileSystem, packageVersion, timeout);
var operation = new UpdatePackageManifestImplOperation(this, CacheFileSystem, packageVersion, timeout);
OperationSystem.StartOperation(PackageName, operation);
return operation;
}
@@ -63,13 +63,13 @@ namespace YooAsset
ClearAllBundleFilesOperation IPlayMode.ClearAllBundleFilesAsync()
{
var operation = new DefaultClearAllBundleFilesOperation(this, BuildinFileSystem, DeliveryFileSystem, CacheFileSystem);
var operation = new ClearAllBundleFilesImplOperation(this, BuildinFileSystem, DeliveryFileSystem, CacheFileSystem);
OperationSystem.StartOperation(PackageName, operation);
return operation;
}
ClearUnusedBundleFilesOperation IPlayMode.ClearUnusedBundleFilesAsync()
{
var operation = new DefaultClearUnusedBundleFilesOperation(this, BuildinFileSystem, DeliveryFileSystem, CacheFileSystem);
var operation = new ClearUnusedBundleFilesImplOperation(this, BuildinFileSystem, DeliveryFileSystem, CacheFileSystem);
OperationSystem.StartOperation(PackageName, operation);
return operation;
}

View File

@@ -36,13 +36,13 @@ namespace YooAsset
RequestPackageVersionOperation IPlayMode.RequestPackageVersionAsync(bool appendTimeTicks, int timeout)
{
var operation = new DefaultRequestPackageVersionOperation(BuildinFileSystem, appendTimeTicks, timeout);
var operation = new RequestPackageVersionImplOperation(BuildinFileSystem, appendTimeTicks, timeout);
OperationSystem.StartOperation(PackageName, operation);
return operation;
}
UpdatePackageManifestOperation IPlayMode.UpdatePackageManifestAsync(string packageVersion, int timeout)
{
var operation = new DefaultUpdatePackageManifestOperation(this, BuildinFileSystem, packageVersion, timeout);
var operation = new UpdatePackageManifestImplOperation(this, BuildinFileSystem, packageVersion, timeout);
OperationSystem.StartOperation(PackageName, operation);
return operation;
}
@@ -55,13 +55,13 @@ namespace YooAsset
ClearAllBundleFilesOperation IPlayMode.ClearAllBundleFilesAsync()
{
var operation = new DefaultClearAllBundleFilesOperation(this, BuildinFileSystem, null, null);
var operation = new ClearAllBundleFilesImplOperation(this, BuildinFileSystem, null, null);
OperationSystem.StartOperation(PackageName, operation);
return operation;
}
ClearUnusedBundleFilesOperation IPlayMode.ClearUnusedBundleFilesAsync()
{
var operation = new DefaultClearUnusedBundleFilesOperation(this, BuildinFileSystem, null, null);
var operation = new ClearUnusedBundleFilesImplOperation(this, BuildinFileSystem, null, null);
OperationSystem.StartOperation(PackageName, operation);
return operation;
}

View File

@@ -10,7 +10,7 @@ namespace YooAsset
Type classType = Type.GetType(parameters.FileSystemClass);
if (classType == null)
{
YooLogger.Error($"Not found file system class type {parameters.FileSystemClass}");
YooLogger.Error($"Can not found file system class type {parameters.FileSystemClass}");
return null;
}

View File

@@ -36,13 +36,13 @@ namespace YooAsset
RequestPackageVersionOperation IPlayMode.RequestPackageVersionAsync(bool appendTimeTicks, int timeout)
{
var operation = new DefaultRequestPackageVersionOperation(WebFileSystem, appendTimeTicks, timeout);
var operation = new RequestPackageVersionImplOperation(WebFileSystem, appendTimeTicks, timeout);
OperationSystem.StartOperation(PackageName, operation);
return operation;
}
UpdatePackageManifestOperation IPlayMode.UpdatePackageManifestAsync(string packageVersion, int timeout)
{
var operation = new DefaultUpdatePackageManifestOperation(this, WebFileSystem, packageVersion, timeout);;
var operation = new UpdatePackageManifestImplOperation(this, WebFileSystem, packageVersion, timeout);;
OperationSystem.StartOperation(PackageName, operation);
return operation;
}
@@ -55,13 +55,13 @@ namespace YooAsset
ClearAllBundleFilesOperation IPlayMode.ClearAllBundleFilesAsync()
{
var operation = new DefaultClearAllBundleFilesOperation(this, WebFileSystem, null, null);
var operation = new ClearAllBundleFilesImplOperation(this, WebFileSystem, null, null);
OperationSystem.StartOperation(PackageName, operation);
return operation;
}
ClearUnusedBundleFilesOperation IPlayMode.ClearUnusedBundleFilesAsync()
{
var operation = new DefaultClearUnusedBundleFilesOperation(this, WebFileSystem, null, null);
var operation = new ClearUnusedBundleFilesImplOperation(this, WebFileSystem, null, null);
OperationSystem.StartOperation(PackageName, operation);
return operation;
}

View File

@@ -1047,7 +1047,7 @@ namespace YooAsset
if (checkActiveManifest)
{
if (_playModeImpl.ActiveManifest == null)
throw new Exception("Not found active package manifest !");
throw new Exception("Can not found active package manifest !");
}
}