update sapce shooter

This commit is contained in:
何冠峰
2024-07-04 20:49:18 +08:00
parent b82ede8bde
commit d43eb821b9
17 changed files with 28 additions and 278 deletions
@@ -14,7 +14,7 @@ public class FileOffsetEncryption : IEncryptionServices
if (fileInfo.BundleName.Contains("_gameres_audio"))
{
int offset = 32;
byte[] fileData = File.ReadAllBytes(fileInfo.FilePath);
byte[] fileData = File.ReadAllBytes(fileInfo.FileLoadPath);
var encryptedData = new byte[fileData.Length + offset];
Buffer.BlockCopy(fileData, 0, encryptedData, offset, fileData.Length);
@@ -41,7 +41,7 @@ public class FileStreamEncryption : IEncryptionServices
{
if (fileInfo.BundleName.Contains("_gameres_audio"))
{
var fileData = File.ReadAllBytes(fileInfo.FilePath);
var fileData = File.ReadAllBytes(fileInfo.FileLoadPath);
for (int i = 0; i < fileData.Length; i++)
{
fileData[i] ^= BundleStream.KEY;
@@ -1,15 +0,0 @@
using System;
using UnityEngine;
using YooAsset;
public class ApplicationQuit : MonoBehaviour
{
private void Awake()
{
DontDestroyOnLoad(this.gameObject);
}
private void OnApplicationQuit()
{
YooAssets.Destroy();
}
}
@@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: 3cbcea01819f3d94ba5162624ad9c75f
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -59,7 +59,7 @@ internal class SceneBattle : MonoBehaviour
if (YooAssets.Initialized)
{
var package = YooAssets.GetPackage("DefaultPackage");
package.UnloadUnusedAssets();
package.UnloadUnusedAssetsAsync();
}
}
private void Update()
@@ -12,7 +12,7 @@ public class SceneHome : MonoBehaviour
private IEnumerator Start()
{
// 加载登录页面
_windowHandle = YooAssets.LoadAssetAsync<GameObject>("UIHome");
_windowHandle = YooAssets.LoadAssetSync<GameObject>("UIHome");
yield return _windowHandle;
_windowHandle.InstantiateSync(CanvasDesktop.transform);
}
@@ -28,7 +28,7 @@ public class SceneHome : MonoBehaviour
if (YooAssets.Initialized)
{
var package = YooAssets.GetPackage("DefaultPackage");
package.UnloadUnusedAssets();
package.UnloadUnusedAssetsAsync();
}
}
}
@@ -20,7 +20,7 @@ internal class FsmClearPackageCache : IStateNode
PatchEventDefine.PatchStatesChange.SendEventMessage("清理未使用的缓存文件!");
var packageName = (string)_machine.GetBlackboardValue("PackageName");
var package = YooAssets.GetPackage(packageName);
var operation = package.ClearUnusedCacheFilesAsync();
var operation = package.ClearUnusedBundleFilesAsync();
operation.Completed += Operation_Completed;
}
void IStateNode.OnUpdate()
@@ -44,8 +44,9 @@ internal class FsmInitializePackage : IStateNode
InitializationOperation initializationOperation = null;
if (playMode == EPlayMode.EditorSimulateMode)
{
string simulateManifestFilePath = EditorSimulateModeHelper.SimulateBuild(buildPipeline, packageName);
var createParameters = new EditorSimulateModeParameters();
createParameters.SimulateManifestFilePath = EditorSimulateModeHelper.SimulateBuild(buildPipeline, packageName);
createParameters.EditorFileSystemParameters = FileSystemParameters.CreateDefaultEditorFileSystemParameters(simulateManifestFilePath);
initializationOperation = package.InitializeAsync(createParameters);
}
@@ -53,7 +54,7 @@ internal class FsmInitializePackage : IStateNode
if (playMode == EPlayMode.OfflinePlayMode)
{
var createParameters = new OfflinePlayModeParameters();
createParameters.DecryptionServices = new FileStreamDecryption();
createParameters.BuildinFileSystemParameters = FileSystemParameters.CreateDefaultBuildinFileSystemParameters();
initializationOperation = package.InitializeAsync(createParameters);
}
@@ -62,10 +63,10 @@ internal class FsmInitializePackage : IStateNode
{
string defaultHostServer = GetHostServerURL();
string fallbackHostServer = GetHostServerURL();
IRemoteServices remoteServices = new RemoteServices(defaultHostServer, fallbackHostServer);
var createParameters = new HostPlayModeParameters();
createParameters.DecryptionServices = new FileStreamDecryption();
createParameters.BuildinQueryServices = new GameQueryServices();
createParameters.RemoteServices = new RemoteServices(defaultHostServer, fallbackHostServer);
createParameters.BuildinFileSystemParameters = FileSystemParameters.CreateDefaultBuildinFileSystemParameters();
createParameters.CacheFileSystemParameters = FileSystemParameters.CreateDefaultCacheFileSystemParameters(remoteServices);
initializationOperation = package.InitializeAsync(createParameters);
}
@@ -74,10 +75,9 @@ internal class FsmInitializePackage : IStateNode
{
string defaultHostServer = GetHostServerURL();
string fallbackHostServer = GetHostServerURL();
IRemoteServices remoteServices = new RemoteServices(defaultHostServer, fallbackHostServer);
var createParameters = new WebPlayModeParameters();
createParameters.DecryptionServices = new FileStreamDecryption();
createParameters.BuildinQueryServices = new GameQueryServices();
createParameters.RemoteServices = new RemoteServices(defaultHostServer, fallbackHostServer);
createParameters.WebFileSystemParameters = FileSystemParameters.CreateDefaultWebFileSystemParameters(remoteServices);
initializationOperation = package.InitializeAsync(createParameters);
}
@@ -91,8 +91,6 @@ internal class FsmInitializePackage : IStateNode
}
else
{
var version = initializationOperation.PackageVersion;
Debug.Log($"Init resource package version : {version}");
_machine.ChangeState<FsmUpdatePackageVersion>();
}
}
@@ -163,7 +161,7 @@ internal class FsmInitializePackage : IStateNode
{
BundleStream bundleStream = new BundleStream(fileInfo.FileLoadPath, FileMode.Open, FileAccess.Read, FileShare.Read);
managedStream = bundleStream;
return AssetBundle.LoadFromStream(bundleStream, fileInfo.ConentCRC, GetManagedReadBufferSize());
return AssetBundle.LoadFromStream(bundleStream, fileInfo.FileLoadCRC, GetManagedReadBufferSize());
}
/// <summary>
@@ -174,7 +172,7 @@ internal class FsmInitializePackage : IStateNode
{
BundleStream bundleStream = new BundleStream(fileInfo.FileLoadPath, FileMode.Open, FileAccess.Read, FileShare.Read);
managedStream = bundleStream;
return AssetBundle.LoadFromStreamAsync(bundleStream, fileInfo.ConentCRC, GetManagedReadBufferSize());
return AssetBundle.LoadFromStreamAsync(bundleStream, fileInfo.FileLoadCRC, GetManagedReadBufferSize());
}
private static uint GetManagedReadBufferSize()
@@ -195,7 +193,7 @@ internal class FsmInitializePackage : IStateNode
AssetBundle IDecryptionServices.LoadAssetBundle(DecryptFileInfo fileInfo, out Stream managedStream)
{
managedStream = null;
return AssetBundle.LoadFromFile(fileInfo.FileLoadPath, fileInfo.ConentCRC, GetFileOffset());
return AssetBundle.LoadFromFile(fileInfo.FileLoadPath, fileInfo.FileLoadCRC, GetFileOffset());
}
/// <summary>
@@ -205,7 +203,7 @@ internal class FsmInitializePackage : IStateNode
AssetBundleCreateRequest IDecryptionServices.LoadAssetBundleAsync(DecryptFileInfo fileInfo, out Stream managedStream)
{
managedStream = null;
return AssetBundle.LoadFromFileAsync(fileInfo.FileLoadPath, fileInfo.ConentCRC, GetFileOffset());
return AssetBundle.LoadFromFileAsync(fileInfo.FileLoadPath, fileInfo.FileLoadCRC, GetFileOffset());
}
private static ulong GetFileOffset()
@@ -34,8 +34,7 @@ public class FsmUpdatePackageManifest : IStateNode
var packageName = (string)_machine.GetBlackboardValue("PackageName");
var packageVersion = (string)_machine.GetBlackboardValue("PackageVersion");
var package = YooAssets.GetPackage(packageName);
bool savePackageVersion = true;
var operation = package.UpdatePackageManifestAsync(packageVersion, savePackageVersion);
var operation = package.UpdatePackageManifestAsync(packageVersion);
yield return operation;
if (operation.Status != EOperationStatus.Succeed)
@@ -33,7 +33,7 @@ internal class FsmUpdatePackageVersion : IStateNode
var packageName = (string)_machine.GetBlackboardValue("PackageName");
var package = YooAssets.GetPackage(packageName);
var operation = package.UpdatePackageVersionAsync();
var operation = package.RequestPackageVersionAsync();
yield return operation;
if (operation.Status != EOperationStatus.Succeed)