update extension sample

抖音小游戏文件重命名
pull/464/head
何冠峰 2025-02-07 16:21:25 +08:00
parent a02b3fbf6e
commit 6e8cb0366d
25 changed files with 169 additions and 171 deletions

View File

@ -1,88 +0,0 @@
#if UNITY_WEBGL && BYTEMINIGAME
using YooAsset;
internal class BGFSLoadPackageManifestOperation : FSLoadPackageManifestOperation
{
private enum ESteps
{
None,
RequestRemotePackageHash,
LoadRemotePackageManifest,
Done,
}
private readonly ByteGameFileSystem _fileSystem;
private readonly string _packageVersion;
private readonly int _timeout;
private RequestByteGamePackageHashOperation _requestRemotePackageHashOp;
private LoadByteGamePackageManifestOperation _loadRemotePackageManifestOp;
private ESteps _steps = ESteps.None;
public BGFSLoadPackageManifestOperation(ByteGameFileSystem fileSystem, string packageVersion, int timeout)
{
_fileSystem = fileSystem;
_packageVersion = packageVersion;
_timeout = timeout;
}
internal override void InternalOnStart()
{
_steps = ESteps.RequestRemotePackageHash;
}
internal override void InternalOnUpdate()
{
if (_steps == ESteps.None || _steps == ESteps.Done)
return;
if (_steps == ESteps.RequestRemotePackageHash)
{
if (_requestRemotePackageHashOp == null)
{
_requestRemotePackageHashOp = new RequestByteGamePackageHashOperation(_fileSystem, _packageVersion, _timeout);
OperationSystem.StartOperation(_fileSystem.PackageName, _requestRemotePackageHashOp);
}
if (_requestRemotePackageHashOp.IsDone == false)
return;
if (_requestRemotePackageHashOp.Status == EOperationStatus.Succeed)
{
_steps = ESteps.LoadRemotePackageManifest;
}
else
{
_steps = ESteps.Done;
Status = EOperationStatus.Failed;
Error = _requestRemotePackageHashOp.Error;
}
}
if (_steps == ESteps.LoadRemotePackageManifest)
{
if (_loadRemotePackageManifestOp == null)
{
string packageHash = _requestRemotePackageHashOp.PackageHash;
_loadRemotePackageManifestOp = new LoadByteGamePackageManifestOperation(_fileSystem, _packageVersion, packageHash, _timeout);
OperationSystem.StartOperation(_fileSystem.PackageName, _loadRemotePackageManifestOp);
}
Progress = _loadRemotePackageManifestOp.Progress;
if (_loadRemotePackageManifestOp.IsDone == false)
return;
if (_loadRemotePackageManifestOp.Status == EOperationStatus.Succeed)
{
_steps = ESteps.Done;
Manifest = _loadRemotePackageManifestOp.Manifest;
Status = EOperationStatus.Succeed;
}
else
{
_steps = ESteps.Done;
Status = EOperationStatus.Failed;
Error = _loadRemotePackageManifestOp.Error;
}
}
}
}
#endif

View File

@ -1,15 +1,14 @@
#if UNITY_WEBGL && BYTEMINIGAME #if UNITY_WEBGL && DOUYINMINIGAME
using UnityEngine; using UnityEngine;
using UnityEngine.Networking; using UnityEngine.Networking;
using YooAsset; using YooAsset;
using StarkSDKSpace;
internal class BGFSDownloadFileOperation : DefaultDownloadFileOperation internal class TTFSDownloadFileOperation : DefaultDownloadFileOperation
{ {
private ByteGameFileSystem _fileSystem; private TiktokFileSystem _fileSystem;
private ESteps _steps = ESteps.None; private ESteps _steps = ESteps.None;
internal BGFSDownloadFileOperation(ByteGameFileSystem fileSystem, PackageBundle bundle, DownloadParam param) : base(bundle, param) internal TTFSDownloadFileOperation(TiktokFileSystem fileSystem, PackageBundle bundle, DownloadParam param) : base(bundle, param)
{ {
_fileSystem = fileSystem; _fileSystem = fileSystem;
} }

View File

@ -1,7 +1,7 @@
#if UNITY_WEBGL && BYTEMINIGAME #if UNITY_WEBGL && DOUYINMINIGAME
using YooAsset; using YooAsset;
internal partial class BGFSInitializeOperation : FSInitializeFileSystemOperation internal partial class TTFSInitializeOperation : FSInitializeFileSystemOperation
{ {
private enum ESteps private enum ESteps
{ {
@ -10,11 +10,11 @@ internal partial class BGFSInitializeOperation : FSInitializeFileSystemOperation
Done, Done,
} }
private readonly ByteGameFileSystem _fileSystem; private readonly TiktokFileSystem _fileSystem;
private RecordTiktokCacheFilesOperation _recordTiktokCacheFilesOp; private RecordTiktokCacheFilesOperation _recordTiktokCacheFilesOp;
private ESteps _steps = ESteps.None; private ESteps _steps = ESteps.None;
public BGFSInitializeOperation(ByteGameFileSystem fileSystem) public TTFSInitializeOperation(TiktokFileSystem fileSystem)
{ {
_fileSystem = fileSystem; _fileSystem = fileSystem;
} }

View File

@ -1,10 +1,10 @@
#if UNITY_WEBGL && BYTEMINIGAME #if UNITY_WEBGL && DOUYINMINIGAME
using UnityEngine; using UnityEngine;
using UnityEngine.Networking; using UnityEngine.Networking;
using YooAsset; using YooAsset;
using TTSDK; using TTSDK;
internal class BGFSLoadBundleOperation : FSLoadBundleOperation internal class TTFSLoadBundleOperation : FSLoadBundleOperation
{ {
private enum ESteps private enum ESteps
{ {
@ -13,12 +13,12 @@ internal class BGFSLoadBundleOperation : FSLoadBundleOperation
Done, Done,
} }
private readonly ByteGameFileSystem _fileSystem; private readonly TiktokFileSystem _fileSystem;
private readonly PackageBundle _bundle; private readonly PackageBundle _bundle;
private UnityWebRequest _webRequest; private UnityWebRequest _webRequest;
private ESteps _steps = ESteps.None; private ESteps _steps = ESteps.None;
internal BGFSLoadBundleOperation(ByteGameFileSystem fileSystem, PackageBundle bundle) internal TTFSLoadBundleOperation(TiktokFileSystem fileSystem, PackageBundle bundle)
{ {
_fileSystem = fileSystem; _fileSystem = fileSystem;
_bundle = bundle; _bundle = bundle;

View File

@ -0,0 +1,88 @@
#if UNITY_WEBGL && DOUYINMINIGAME
using YooAsset;
internal class TTFSLoadPackageManifestOperation : FSLoadPackageManifestOperation
{
private enum ESteps
{
None,
RequestPackageHash,
LoadPackageManifest,
Done,
}
private readonly TiktokFileSystem _fileSystem;
private readonly string _packageVersion;
private readonly int _timeout;
private RequestTiktokPackageHashOperation _requestPackageHashOp;
private LoadTiktokPackageManifestOperation _loadPackageManifestOp;
private ESteps _steps = ESteps.None;
public TTFSLoadPackageManifestOperation(TiktokFileSystem fileSystem, string packageVersion, int timeout)
{
_fileSystem = fileSystem;
_packageVersion = packageVersion;
_timeout = timeout;
}
internal override void InternalOnStart()
{
_steps = ESteps.RequestPackageHash;
}
internal override void InternalOnUpdate()
{
if (_steps == ESteps.None || _steps == ESteps.Done)
return;
if (_steps == ESteps.RequestPackageHash)
{
if (_requestPackageHashOp == null)
{
_requestPackageHashOp = new RequestTiktokPackageHashOperation(_fileSystem, _packageVersion, _timeout);
OperationSystem.StartOperation(_fileSystem.PackageName, _requestPackageHashOp);
}
if (_requestPackageHashOp.IsDone == false)
return;
if (_requestPackageHashOp.Status == EOperationStatus.Succeed)
{
_steps = ESteps.LoadPackageManifest;
}
else
{
_steps = ESteps.Done;
Status = EOperationStatus.Failed;
Error = _requestPackageHashOp.Error;
}
}
if (_steps == ESteps.LoadPackageManifest)
{
if (_loadPackageManifestOp == null)
{
string packageHash = _requestPackageHashOp.PackageHash;
_loadPackageManifestOp = new LoadTiktokPackageManifestOperation(_fileSystem, _packageVersion, packageHash, _timeout);
OperationSystem.StartOperation(_fileSystem.PackageName, _loadPackageManifestOp);
}
Progress = _loadPackageManifestOp.Progress;
if (_loadPackageManifestOp.IsDone == false)
return;
if (_loadPackageManifestOp.Status == EOperationStatus.Succeed)
{
_steps = ESteps.Done;
Manifest = _loadPackageManifestOp.Manifest;
Status = EOperationStatus.Succeed;
}
else
{
_steps = ESteps.Done;
Status = EOperationStatus.Failed;
Error = _loadPackageManifestOp.Error;
}
}
}
}
#endif

View File

@ -1,7 +1,7 @@
#if UNITY_WEBGL && BYTEMINIGAME #if UNITY_WEBGL && DOUYINMINIGAME
using YooAsset; using YooAsset;
internal class BGFSRequestPackageVersionOperation : FSRequestPackageVersionOperation internal class TTFSRequestPackageVersionOperation : FSRequestPackageVersionOperation
{ {
private enum ESteps private enum ESteps
{ {
@ -10,13 +10,13 @@ internal class BGFSRequestPackageVersionOperation : FSRequestPackageVersionOpera
Done, Done,
} }
private readonly ByteGameFileSystem _fileSystem; private readonly TiktokFileSystem _fileSystem;
private readonly int _timeout; private readonly int _timeout;
private RequestByteGamePackageVersionOperation _requestWebPackageVersionOp; private RequestTiktokPackageVersionOperation _requestPackageVersionOp;
private ESteps _steps = ESteps.None; private ESteps _steps = ESteps.None;
internal BGFSRequestPackageVersionOperation(ByteGameFileSystem fileSystem, int timeout) internal TTFSRequestPackageVersionOperation(TiktokFileSystem fileSystem, int timeout)
{ {
_fileSystem = fileSystem; _fileSystem = fileSystem;
_timeout = timeout; _timeout = timeout;
@ -32,27 +32,27 @@ internal class BGFSRequestPackageVersionOperation : FSRequestPackageVersionOpera
if (_steps == ESteps.RequestPackageVersion) if (_steps == ESteps.RequestPackageVersion)
{ {
if (_requestWebPackageVersionOp == null) if (_requestPackageVersionOp == null)
{ {
_requestWebPackageVersionOp = new RequestByteGamePackageVersionOperation(_fileSystem, _timeout); _requestPackageVersionOp = new RequestTiktokPackageVersionOperation(_fileSystem, _timeout);
OperationSystem.StartOperation(_fileSystem.PackageName, _requestWebPackageVersionOp); OperationSystem.StartOperation(_fileSystem.PackageName, _requestPackageVersionOp);
} }
Progress = _requestWebPackageVersionOp.Progress; Progress = _requestPackageVersionOp.Progress;
if (_requestWebPackageVersionOp.IsDone == false) if (_requestPackageVersionOp.IsDone == false)
return; return;
if (_requestWebPackageVersionOp.Status == EOperationStatus.Succeed) if (_requestPackageVersionOp.Status == EOperationStatus.Succeed)
{ {
_steps = ESteps.Done; _steps = ESteps.Done;
PackageVersion = _requestWebPackageVersionOp.PackageVersion; PackageVersion = _requestPackageVersionOp.PackageVersion;
Status = EOperationStatus.Succeed; Status = EOperationStatus.Succeed;
} }
else else
{ {
_steps = ESteps.Done; _steps = ESteps.Done;
Status = EOperationStatus.Failed; Status = EOperationStatus.Failed;
Error = _requestWebPackageVersionOp.Error; Error = _requestPackageVersionOp.Error;
} }
} }
} }

View File

@ -1,7 +1,7 @@
#if UNITY_WEBGL && BYTEMINIGAME #if UNITY_WEBGL && DOUYINMINIGAME
using YooAsset; using YooAsset;
internal class LoadByteGamePackageManifestOperation : AsyncOperationBase internal class LoadTiktokPackageManifestOperation : AsyncOperationBase
{ {
private enum ESteps private enum ESteps
{ {
@ -12,7 +12,7 @@ internal class LoadByteGamePackageManifestOperation : AsyncOperationBase
Done, Done,
} }
private readonly ByteGameFileSystem _fileSystem; private readonly TiktokFileSystem _fileSystem;
private readonly string _packageVersion; private readonly string _packageVersion;
private readonly string _packageHash; private readonly string _packageHash;
private readonly int _timeout; private readonly int _timeout;
@ -27,7 +27,7 @@ internal class LoadByteGamePackageManifestOperation : AsyncOperationBase
public PackageManifest Manifest { private set; get; } public PackageManifest Manifest { private set; get; }
internal LoadByteGamePackageManifestOperation(ByteGameFileSystem fileSystem, string packageVersion, string packageHash, int timeout) internal LoadTiktokPackageManifestOperation(TiktokFileSystem fileSystem, string packageVersion, string packageHash, int timeout)
{ {
_fileSystem = fileSystem; _fileSystem = fileSystem;
_packageVersion = packageVersion; _packageVersion = packageVersion;
@ -36,7 +36,7 @@ internal class LoadByteGamePackageManifestOperation : AsyncOperationBase
} }
internal override void InternalOnStart() internal override void InternalOnStart()
{ {
_requestCount = WebRequestCounter.GetRequestFailedCount(_fileSystem.PackageName, nameof(LoadByteGamePackageManifestOperation)); _requestCount = WebRequestCounter.GetRequestFailedCount(_fileSystem.PackageName, nameof(LoadTiktokPackageManifestOperation));
_steps = ESteps.RequestFileData; _steps = ESteps.RequestFileData;
} }
internal override void InternalOnUpdate() internal override void InternalOnUpdate()
@ -67,7 +67,7 @@ internal class LoadByteGamePackageManifestOperation : AsyncOperationBase
_steps = ESteps.Done; _steps = ESteps.Done;
Status = EOperationStatus.Failed; Status = EOperationStatus.Failed;
Error = _webDataRequestOp.Error; Error = _webDataRequestOp.Error;
WebRequestCounter.RecordRequestFailed(_fileSystem.PackageName, nameof(LoadByteGamePackageManifestOperation)); WebRequestCounter.RecordRequestFailed(_fileSystem.PackageName, nameof(LoadTiktokPackageManifestOperation));
} }
} }

View File

@ -1,4 +1,4 @@
#if UNITY_WEBGL && BYTEMINIGAME #if UNITY_WEBGL && DOUYINMINIGAME
using YooAsset; using YooAsset;
using TTSDK; using TTSDK;
@ -12,10 +12,10 @@ internal class RecordTiktokCacheFilesOperation : AsyncOperationBase
Done, Done,
} }
private readonly ByteGameFileSystem _fileSystem; private readonly TiktokFileSystem _fileSystem;
private ESteps _steps = ESteps.None; private ESteps _steps = ESteps.None;
public RecordTiktokCacheFilesOperation(ByteGameFileSystem fileSystem) public RecordTiktokCacheFilesOperation(TiktokFileSystem fileSystem)
{ {
_fileSystem = fileSystem; _fileSystem = fileSystem;
} }

View File

@ -1,7 +1,7 @@
#if UNITY_WEBGL && BYTEMINIGAME #if UNITY_WEBGL && DOUYINMINIGAME
using YooAsset; using YooAsset;
internal class RequestByteGamePackageHashOperation : AsyncOperationBase internal class RequestTiktokPackageHashOperation : AsyncOperationBase
{ {
private enum ESteps private enum ESteps
{ {
@ -10,7 +10,7 @@ internal class RequestByteGamePackageHashOperation : AsyncOperationBase
Done, Done,
} }
private readonly ByteGameFileSystem _fileSystem; private readonly TiktokFileSystem _fileSystem;
private readonly string _packageVersion; private readonly string _packageVersion;
private readonly int _timeout; private readonly int _timeout;
private UnityWebTextRequestOperation _webTextRequestOp; private UnityWebTextRequestOperation _webTextRequestOp;
@ -23,7 +23,7 @@ internal class RequestByteGamePackageHashOperation : AsyncOperationBase
public string PackageHash { private set; get; } public string PackageHash { private set; get; }
public RequestByteGamePackageHashOperation(ByteGameFileSystem fileSystem, string packageVersion, int timeout) public RequestTiktokPackageHashOperation(TiktokFileSystem fileSystem, string packageVersion, int timeout)
{ {
_fileSystem = fileSystem; _fileSystem = fileSystem;
_packageVersion = packageVersion; _packageVersion = packageVersion;
@ -31,7 +31,7 @@ internal class RequestByteGamePackageHashOperation : AsyncOperationBase
} }
internal override void InternalOnStart() internal override void InternalOnStart()
{ {
_requestCount = WebRequestCounter.GetRequestFailedCount(_fileSystem.PackageName, nameof(RequestByteGamePackageHashOperation)); _requestCount = WebRequestCounter.GetRequestFailedCount(_fileSystem.PackageName, nameof(RequestTiktokPackageHashOperation));
_steps = ESteps.RequestPackageHash; _steps = ESteps.RequestPackageHash;
} }
internal override void InternalOnUpdate() internal override void InternalOnUpdate()
@ -73,7 +73,7 @@ internal class RequestByteGamePackageHashOperation : AsyncOperationBase
_steps = ESteps.Done; _steps = ESteps.Done;
Status = EOperationStatus.Failed; Status = EOperationStatus.Failed;
Error = _webTextRequestOp.Error; Error = _webTextRequestOp.Error;
WebRequestCounter.RecordRequestFailed(_fileSystem.PackageName, nameof(RequestByteGamePackageHashOperation)); WebRequestCounter.RecordRequestFailed(_fileSystem.PackageName, nameof(RequestTiktokPackageHashOperation));
} }
} }
} }

View File

@ -1,7 +1,7 @@
#if UNITY_WEBGL && BYTEMINIGAME #if UNITY_WEBGL && DOUYINMINIGAME
using YooAsset; using YooAsset;
internal class RequestByteGamePackageVersionOperation : AsyncOperationBase internal class RequestTiktokPackageVersionOperation : AsyncOperationBase
{ {
private enum ESteps private enum ESteps
{ {
@ -10,7 +10,7 @@ internal class RequestByteGamePackageVersionOperation : AsyncOperationBase
Done, Done,
} }
private readonly ByteGameFileSystem _fileSystem; private readonly TiktokFileSystem _fileSystem;
private readonly int _timeout; private readonly int _timeout;
private UnityWebTextRequestOperation _webTextRequestOp; private UnityWebTextRequestOperation _webTextRequestOp;
private int _requestCount = 0; private int _requestCount = 0;
@ -22,14 +22,14 @@ internal class RequestByteGamePackageVersionOperation : AsyncOperationBase
public string PackageVersion { private set; get; } public string PackageVersion { private set; get; }
public RequestByteGamePackageVersionOperation(ByteGameFileSystem fileSystem, int timeout) public RequestTiktokPackageVersionOperation(TiktokFileSystem fileSystem, int timeout)
{ {
_fileSystem = fileSystem; _fileSystem = fileSystem;
_timeout = timeout; _timeout = timeout;
} }
internal override void InternalOnStart() internal override void InternalOnStart()
{ {
_requestCount = WebRequestCounter.GetRequestFailedCount(_fileSystem.PackageName, nameof(RequestByteGamePackageVersionOperation)); _requestCount = WebRequestCounter.GetRequestFailedCount(_fileSystem.PackageName, nameof(RequestTiktokPackageVersionOperation));
_steps = ESteps.RequestPackageVersion; _steps = ESteps.RequestPackageVersion;
} }
internal override void InternalOnUpdate() internal override void InternalOnUpdate()
@ -71,7 +71,7 @@ internal class RequestByteGamePackageVersionOperation : AsyncOperationBase
_steps = ESteps.Done; _steps = ESteps.Done;
Status = EOperationStatus.Failed; Status = EOperationStatus.Failed;
Error = _webTextRequestOp.Error; Error = _webTextRequestOp.Error;
WebRequestCounter.RecordRequestFailed(_fileSystem.PackageName, nameof(RequestByteGamePackageVersionOperation)); WebRequestCounter.RecordRequestFailed(_fileSystem.PackageName, nameof(RequestTiktokPackageVersionOperation));
} }
} }
} }

View File

@ -1,17 +1,16 @@
#if UNITY_WEBGL && BYTEMINIGAME #if UNITY_WEBGL && DOUYINMINIGAME
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
using YooAsset; using YooAsset;
using TTSDK; using TTSDK;
using System.Linq; using System.Linq;
using WeChatWASM;
using System; using System;
public static class ByteGameFileSystemCreater public static class TiktokFileSystemCreater
{ {
public static FileSystemParameters CreateByteGameFileSystemParameters(IRemoteServices remoteServices, string packageRoot) public static FileSystemParameters CreateByteGameFileSystemParameters(IRemoteServices remoteServices, string packageRoot)
{ {
string fileSystemClass = $"{nameof(ByteGameFileSystem)},YooAsset.RuntimeExtension"; string fileSystemClass = $"{nameof(TiktokFileSystem)},YooAsset.RuntimeExtension";
var fileSystemParams = new FileSystemParameters(fileSystemClass, packageRoot); var fileSystemParams = new FileSystemParameters(fileSystemClass, packageRoot);
fileSystemParams.AddParameter("REMOTE_SERVICES", remoteServices); fileSystemParams.AddParameter("REMOTE_SERVICES", remoteServices);
return fileSystemParams; return fileSystemParams;
@ -22,7 +21,7 @@ public static class ByteGameFileSystemCreater
/// 抖音小游戏文件系统 /// 抖音小游戏文件系统
/// 参考https://developer.open-douyin.com/docs/resource/zh-CN/mini-game/develop/guide/know /// 参考https://developer.open-douyin.com/docs/resource/zh-CN/mini-game/develop/guide/know
/// </summary> /// </summary>
internal class ByteGameFileSystem : IFileSystem internal class TiktokFileSystem : IFileSystem
{ {
private class WebRemoteServices : IRemoteServices private class WebRemoteServices : IRemoteServices
{ {
@ -94,24 +93,24 @@ internal class ByteGameFileSystem : IFileSystem
#endregion #endregion
public ByteGameFileSystem() public TiktokFileSystem()
{ {
} }
public virtual FSInitializeFileSystemOperation InitializeFileSystemAsync() public virtual FSInitializeFileSystemOperation InitializeFileSystemAsync()
{ {
var operation = new BGFSInitializeOperation(this); var operation = new TTFSInitializeOperation(this);
OperationSystem.StartOperation(PackageName, operation); OperationSystem.StartOperation(PackageName, operation);
return operation; return operation;
} }
public virtual FSLoadPackageManifestOperation LoadPackageManifestAsync(string packageVersion, int timeout) public virtual FSLoadPackageManifestOperation LoadPackageManifestAsync(string packageVersion, int timeout)
{ {
var operation = new BGFSLoadPackageManifestOperation(this, packageVersion, timeout); var operation = new TTFSLoadPackageManifestOperation(this, packageVersion, timeout);
OperationSystem.StartOperation(PackageName, operation); OperationSystem.StartOperation(PackageName, operation);
return operation; return operation;
} }
public virtual FSRequestPackageVersionOperation RequestPackageVersionAsync(bool appendTimeTicks, int timeout) public virtual FSRequestPackageVersionOperation RequestPackageVersionAsync(bool appendTimeTicks, int timeout)
{ {
var operation = new BGFSRequestPackageVersionOperation(this, timeout); var operation = new TTFSRequestPackageVersionOperation(this, timeout);
OperationSystem.StartOperation(PackageName, operation); OperationSystem.StartOperation(PackageName, operation);
return operation; return operation;
} }
@ -125,7 +124,7 @@ internal class ByteGameFileSystem : IFileSystem
{ {
param.MainURL = RemoteServices.GetRemoteMainURL(bundle.FileName); param.MainURL = RemoteServices.GetRemoteMainURL(bundle.FileName);
param.FallbackURL = RemoteServices.GetRemoteFallbackURL(bundle.FileName); param.FallbackURL = RemoteServices.GetRemoteFallbackURL(bundle.FileName);
var operation = new BGFSDownloadFileOperation(this, bundle, param); var operation = new TTFSDownloadFileOperation(this, bundle, param);
OperationSystem.StartOperation(PackageName, operation); OperationSystem.StartOperation(PackageName, operation);
return operation; return operation;
} }
@ -133,13 +132,13 @@ internal class ByteGameFileSystem : IFileSystem
{ {
if (bundle.BundleType == (int)EBuildBundleType.AssetBundle) if (bundle.BundleType == (int)EBuildBundleType.AssetBundle)
{ {
var operation = new BGFSLoadBundleOperation(this, bundle); var operation = new TTFSLoadBundleOperation(this, bundle);
OperationSystem.StartOperation(PackageName, operation); OperationSystem.StartOperation(PackageName, operation);
return operation; return operation;
} }
else else
{ {
string error = $"{nameof(ByteGameFileSystem)} not support load bundle type : {bundle.BundleType}"; string error = $"{nameof(TiktokFileSystem)} not support load bundle type : {bundle.BundleType}";
var operation = new FSLoadBundleCompleteOperation(error); var operation = new FSLoadBundleCompleteOperation(error);
OperationSystem.StartOperation(PackageName, operation); OperationSystem.StartOperation(PackageName, operation);
return operation; return operation;
@ -255,7 +254,7 @@ internal class ByteGameFileSystem : IFileSystem
{ {
if (_recorders.Contains(filePath)) if (_recorders.Contains(filePath))
{ {
YooLogger.Error($"{nameof(WechatFileSystem)} has element : {filePath}"); YooLogger.Error($"{nameof(TiktokFileSystem)} has element : {filePath}");
return false; return false;
} }

View File

@ -6,16 +6,16 @@ internal class WXFSLoadPackageManifestOperation : FSLoadPackageManifestOperation
private enum ESteps private enum ESteps
{ {
None, None,
RequestRemotePackageHash, RequestPackageHash,
LoadRemotePackageManifest, LoadPackageManifest,
Done, Done,
} }
private readonly WechatFileSystem _fileSystem; private readonly WechatFileSystem _fileSystem;
private readonly string _packageVersion; private readonly string _packageVersion;
private readonly int _timeout; private readonly int _timeout;
private RequestWechatPackageHashOperation _requestRemotePackageHashOp; private RequestWechatPackageHashOperation _requestPackageHashOp;
private LoadWechatPackageManifestOperation _loadRemotePackageManifestOp; private LoadWechatPackageManifestOperation _loadPackageManifestOp;
private ESteps _steps = ESteps.None; private ESteps _steps = ESteps.None;
@ -27,60 +27,60 @@ internal class WXFSLoadPackageManifestOperation : FSLoadPackageManifestOperation
} }
internal override void InternalOnStart() internal override void InternalOnStart()
{ {
_steps = ESteps.RequestRemotePackageHash; _steps = ESteps.RequestPackageHash;
} }
internal override void InternalOnUpdate() internal override void InternalOnUpdate()
{ {
if (_steps == ESteps.None || _steps == ESteps.Done) if (_steps == ESteps.None || _steps == ESteps.Done)
return; return;
if (_steps == ESteps.RequestRemotePackageHash) if (_steps == ESteps.RequestPackageHash)
{ {
if (_requestRemotePackageHashOp == null) if (_requestPackageHashOp == null)
{ {
_requestRemotePackageHashOp = new RequestWechatPackageHashOperation(_fileSystem, _packageVersion, _timeout); _requestPackageHashOp = new RequestWechatPackageHashOperation(_fileSystem, _packageVersion, _timeout);
OperationSystem.StartOperation(_fileSystem.PackageName, _requestRemotePackageHashOp); OperationSystem.StartOperation(_fileSystem.PackageName, _requestPackageHashOp);
} }
if (_requestRemotePackageHashOp.IsDone == false) if (_requestPackageHashOp.IsDone == false)
return; return;
if (_requestRemotePackageHashOp.Status == EOperationStatus.Succeed) if (_requestPackageHashOp.Status == EOperationStatus.Succeed)
{ {
_steps = ESteps.LoadRemotePackageManifest; _steps = ESteps.LoadPackageManifest;
} }
else else
{ {
_steps = ESteps.Done; _steps = ESteps.Done;
Status = EOperationStatus.Failed; Status = EOperationStatus.Failed;
Error = _requestRemotePackageHashOp.Error; Error = _requestPackageHashOp.Error;
} }
} }
if (_steps == ESteps.LoadRemotePackageManifest) if (_steps == ESteps.LoadPackageManifest)
{ {
if (_loadRemotePackageManifestOp == null) if (_loadPackageManifestOp == null)
{ {
string packageHash = _requestRemotePackageHashOp.PackageHash; string packageHash = _requestPackageHashOp.PackageHash;
_loadRemotePackageManifestOp = new LoadWechatPackageManifestOperation(_fileSystem, _packageVersion, packageHash, _timeout); _loadPackageManifestOp = new LoadWechatPackageManifestOperation(_fileSystem, _packageVersion, packageHash, _timeout);
OperationSystem.StartOperation(_fileSystem.PackageName, _loadRemotePackageManifestOp); OperationSystem.StartOperation(_fileSystem.PackageName, _loadPackageManifestOp);
} }
Progress = _loadRemotePackageManifestOp.Progress; Progress = _loadPackageManifestOp.Progress;
if (_loadRemotePackageManifestOp.IsDone == false) if (_loadPackageManifestOp.IsDone == false)
return; return;
if (_loadRemotePackageManifestOp.Status == EOperationStatus.Succeed) if (_loadPackageManifestOp.Status == EOperationStatus.Succeed)
{ {
_steps = ESteps.Done; _steps = ESteps.Done;
Manifest = _loadRemotePackageManifestOp.Manifest; Manifest = _loadPackageManifestOp.Manifest;
Status = EOperationStatus.Succeed; Status = EOperationStatus.Succeed;
} }
else else
{ {
_steps = ESteps.Done; _steps = ESteps.Done;
Status = EOperationStatus.Failed; Status = EOperationStatus.Failed;
Error = _loadRemotePackageManifestOp.Error; Error = _loadPackageManifestOp.Error;
} }
} }
} }