update space shooter

修正PatchOperation不支持原生文件
pull/392/head
何冠峰 2024-10-29 17:07:53 +08:00
parent 75a013d961
commit 2b9014f4d8
3 changed files with 18 additions and 5 deletions

View File

@ -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;

View File

@ -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);
}

View File

@ -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<UserEventDefine.UserTryInitialize>(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()
{