From 2b9014f4d86d479944e5def9afa544bc48ea4bbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E5=86=A0=E5=B3=B0?= Date: Tue, 29 Oct 2024 17:07:53 +0800 Subject: [PATCH] update space shooter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修正PatchOperation不支持原生文件 --- .../Space Shooter/GameScript/Runtime/Boot.cs | 2 +- .../PatchLogic/FsmNode/FsmInitializePackage.cs | 18 +++++++++++++++--- .../Runtime/PatchLogic/PatchOperation.cs | 3 ++- 3 files changed, 18 insertions(+), 5 deletions(-) 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() {