diff --git a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/Boot.cs b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/Boot.cs index 31da98d4..8c5e18c6 100644 --- a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/Boot.cs +++ b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/Boot.cs @@ -35,7 +35,7 @@ public class Boot : MonoBehaviour GameObject.Instantiate(go); // 开始补丁更新流程 - PatchOperation operation = new PatchOperation("DefaultPackage", EDefaultBuildPipeline.BuiltinBuildPipeline.ToString(), PlayMode); + PatchOperation operation = new PatchOperation("DefaultPackage", EDefaultBuildPipeline.BuiltinBuildPipeline.ToString(), false, PlayMode); YooAssets.StartOperation(operation); yield return operation; diff --git a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/FsmNode/FsmInitializePackage.cs b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/FsmNode/FsmInitializePackage.cs index a158b0cb..7939a04f 100644 --- a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/FsmNode/FsmInitializePackage.cs +++ b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/FsmNode/FsmInitializePackage.cs @@ -34,6 +34,7 @@ internal class FsmInitializePackage : IStateNode var playMode = (EPlayMode)_machine.GetBlackboardValue("PlayMode"); var packageName = (string)_machine.GetBlackboardValue("PackageName"); var buildPipeline = (string)_machine.GetBlackboardValue("BuildPipeline"); + var rawFileSystem = (bool)_machine.GetBlackboardValue("RawFileSystem"); // 创建资源包裹类 var package = YooAssets.TryGetPackage(packageName); @@ -54,7 +55,10 @@ internal class FsmInitializePackage : IStateNode if (playMode == EPlayMode.OfflinePlayMode) { var createParameters = new OfflinePlayModeParameters(); - createParameters.BuildinFileSystemParameters = FileSystemParameters.CreateDefaultBuildinFileSystemParameters(); + if (rawFileSystem) + createParameters.BuildinFileSystemParameters = FileSystemParameters.CreateDefaultBuildinRawFileSystemParameters(); + else + createParameters.BuildinFileSystemParameters = FileSystemParameters.CreateDefaultBuildinFileSystemParameters(); initializationOperation = package.InitializeAsync(createParameters); } @@ -65,8 +69,16 @@ internal class FsmInitializePackage : IStateNode string fallbackHostServer = GetHostServerURL(); IRemoteServices remoteServices = new RemoteServices(defaultHostServer, fallbackHostServer); var createParameters = new HostPlayModeParameters(); - createParameters.BuildinFileSystemParameters = FileSystemParameters.CreateDefaultBuildinFileSystemParameters(); - createParameters.CacheFileSystemParameters = FileSystemParameters.CreateDefaultCacheFileSystemParameters(remoteServices); + if (rawFileSystem) + { + createParameters.BuildinFileSystemParameters = FileSystemParameters.CreateDefaultBuildinRawFileSystemParameters(); + createParameters.CacheFileSystemParameters = FileSystemParameters.CreateDefaultCacheRawFileSystemParameters(remoteServices); + } + else + { + createParameters.BuildinFileSystemParameters = FileSystemParameters.CreateDefaultBuildinFileSystemParameters(); + createParameters.CacheFileSystemParameters = FileSystemParameters.CreateDefaultCacheFileSystemParameters(remoteServices); + } initializationOperation = package.InitializeAsync(createParameters); } diff --git a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/PatchOperation.cs b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/PatchOperation.cs index c31b52d6..8f304780 100644 --- a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/PatchOperation.cs +++ b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/PatchOperation.cs @@ -19,7 +19,7 @@ public class PatchOperation : GameAsyncOperation private readonly StateMachine _machine; private ESteps _steps = ESteps.None; - public PatchOperation(string packageName, string buildPipeline, EPlayMode playMode) + public PatchOperation(string packageName, string buildPipeline, bool rawFileSystem, EPlayMode playMode) { // 注册监听事件 _eventGroup.AddListener(OnHandleEventMessage); @@ -42,6 +42,7 @@ public class PatchOperation : GameAsyncOperation _machine.SetBlackboardValue("PackageName", packageName); _machine.SetBlackboardValue("PlayMode", playMode); _machine.SetBlackboardValue("BuildPipeline", buildPipeline); + _machine.SetBlackboardValue("RawFileSystem", rawFileSystem); } protected override void OnStart() {