Merge branch 'master' into LouDi_Quan

This commit is contained in:
shenjianxing 2025-03-28 09:38:10 +08:00
commit 695e9b2fd9
2 changed files with 72 additions and 1 deletions

View File

@ -1,6 +1,8 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEditor;
using UnityEditor.Build;
using UnityEditor.Build.Reporting;
using UnityEngine;
@ -26,6 +28,72 @@ public class VirtualFPostProcess : IPostprocessBuildWithReport
{
Debug.LogWarning("未找到数据目录: " + dataFolderPath);
}
DeletAssetBundle(buildOutputPath);
}
/// <summary>
/// 删除不属于当前平台的资源
/// </summary>
public void DeletAssetBundle(string buildOutPutPath)
{
if (EditorUserBuildSettings.activeBuildTarget == BuildTarget.WebGL)
{
string path = Path.Combine(buildOutPutPath, "StreamingAssets", "AssetBundles");
if (Directory.Exists(path))
{
string[] allDirectories = Directory.GetDirectories(path);
foreach (string dir in allDirectories)
{
string dirName = Path.GetFileName(dir);
if (!dirName.Equals("WebGL", StringComparison.OrdinalIgnoreCase)) // 忽略大小写
{
try
{
Directory.Delete(dir, true);
Debug.Log($"Deleted directory: {dir}");
}
catch (Exception e)
{
Debug.LogError($"Failed to delete {dir}: {e.Message}");
}
}
}
}
else
{
Debug.LogError($"Directory not found: {path}");
}
}
else if (EditorUserBuildSettings.activeBuildTarget == BuildTarget.StandaloneWindows|| EditorUserBuildSettings.activeBuildTarget == BuildTarget.StandaloneWindows64)
{
string path = Path.Combine(buildOutPutPath, "VirtualFramwork_Data", "StreamingAssets", "AssetBundles");
if (Directory.Exists(path))
{
string[] allDirectories = Directory.GetDirectories(path);
foreach (string dir in allDirectories)
{
string dirName = Path.GetFileName(dir);
if (!dirName.Equals("Windows", StringComparison.OrdinalIgnoreCase)) // 忽略大小写
{
try
{
Directory.Delete(dir, true);
Debug.Log($"Deleted directory: {dir}");
}
catch (Exception e)
{
Debug.LogError($"Failed to delete {dir}: {e.Message}");
}
}
}
}
else
{
Debug.LogError($"Directory not found: {path}");
}
}
}
private string GetValidBuildPath(BuildReport report)

View File

@ -13,8 +13,11 @@ public class Global : Singleton<Global>
public XMLTool.AppData appData;
public Module curModule;
public Body3D.Body cur3DPart;
#if UNITY_WEBGL
public static string dataPath = Application.dataPath + "/Data";
#else
public static string dataPath = Application.dataPath + "/../Data";
#endif
public static string deviceIconsPath = dataPath + "/DeviceIcons/";
public static string audioPath = dataPath + "/Audio/";
public static string appXmlPath = dataPath + "/App.xml";