update space shooter

pull/134/head
hevinci 2023-07-05 16:31:29 +08:00
parent b0917623b6
commit 8eadba3aa6
2 changed files with 21 additions and 11 deletions

View File

@ -3,15 +3,20 @@ using System.Collections.Generic;
using UnityEngine; using UnityEngine;
using YooAsset; using YooAsset;
public class StreamingAssetsDefine
{
public const string RootFolderName = "yoo";
}
/// <summary> /// <summary>
/// 内置文件查询服务类 /// 内置文件查询服务类
/// </summary> /// </summary>
public class GameQueryServices : IQueryServices public class GameQueryServices : IQueryServices
{ {
public bool QueryStreamingAssets(string fileName) public bool QueryStreamingAssets(string packageName, string fileName)
{ {
// 注意fileName包含文件格式 // 注意fileName包含文件格式
return StreamingAssetsHelper.FileExists(fileName); return StreamingAssetsHelper.FileExists(packageName, fileName);
} }
} }
@ -22,9 +27,10 @@ public class GameQueryServices : IQueryServices
public sealed class StreamingAssetsHelper public sealed class StreamingAssetsHelper
{ {
public static void Init() { } public static void Init() { }
public static bool FileExists(string fileName) public static bool FileExists(string packageName, string fileName)
{ {
return File.Exists(Path.Combine(Application.streamingAssetsPath, "BuildinFiles", fileName)); string filePath = Path.Combine(Application.streamingAssetsPath, StreamingAssetsDefine.RootFolderName, packageName, fileName);
return File.Exists(filePath);
} }
} }
#else #else
@ -55,7 +61,7 @@ public sealed class StreamingAssetsHelper
/// <summary> /// <summary>
/// 内置文件查询方法 /// 内置文件查询方法
/// </summary> /// </summary>
public static bool FileExists(string fileName) public static bool FileExists(string packageName, string fileName)
{ {
if (_isInit == false) if (_isInit == false)
Init(); Init();
@ -77,9 +83,9 @@ internal class PreprocessBuild : UnityEditor.Build.IPreprocessBuildWithReport
{ {
var manifest = ScriptableObject.CreateInstance<BuildinFileManifest>(); var manifest = ScriptableObject.CreateInstance<BuildinFileManifest>();
string folderPath = $"{Application.dataPath}/StreamingAssets/BuildinFiles"; string folderPath = $"{Application.dataPath}/StreamingAssets/{StreamingAssetsDefine.RootFolderName}";
DirectoryInfo root = new DirectoryInfo(folderPath); DirectoryInfo root = new DirectoryInfo(folderPath);
FileInfo[] files = root.GetFiles(); FileInfo[] files = root.GetFiles("*", SearchOption.AllDirectories);
foreach (var fileInfo in files) foreach (var fileInfo in files)
{ {
if (fileInfo.Extension == ".meta") if (fileInfo.Extension == ".meta")
@ -97,7 +103,7 @@ internal class PreprocessBuild : UnityEditor.Build.IPreprocessBuildWithReport
UnityEditor.AssetDatabase.CreateAsset(manifest, saveFilePath); UnityEditor.AssetDatabase.CreateAsset(manifest, saveFilePath);
UnityEditor.AssetDatabase.SaveAssets(); UnityEditor.AssetDatabase.SaveAssets();
UnityEditor.AssetDatabase.Refresh(); UnityEditor.AssetDatabase.Refresh();
Debug.Log($"内置资源清单保存成功 : {saveFilePath}"); Debug.Log($"一共{manifest.BuildinFiles.Count}个内置文件,内置资源清单保存成功 : {saveFilePath}");
} }
} }
#endif #endif

View File

@ -6,15 +6,19 @@ using UnityEngine;
using YooAsset; using YooAsset;
/* /*
public class StreamingAssetsDefine
{
public const string RootFolderName = "yoo";
}
/// <summary> /// <summary>
/// 内置文件查询服务类 /// 内置文件查询服务类
/// </summary> /// </summary>
public class GameQueryServices : IQueryServices public class GameQueryServices : IQueryServices
{ {
public bool QueryStreamingAssets(string fileName) public bool QueryStreamingAssets(string packageName, string fileName)
{ {
string buildinFolderName = YooAssets.GetStreamingAssetBuildinFolderName(); return StreamingAssetsHelper.FileExists($"{StreamingAssetsDefine.RootFolderName}/{packageName}/{fileName}");
return StreamingAssetsHelper.FileExists($"{buildinFolderName}/{fileName}");
} }
} }