From a49daf71cf967bc107fd2ba3e2a1a4918840af13 Mon Sep 17 00:00:00 2001
From: shenjianxing <”315615051@qq.com“>
Date: Fri, 28 Mar 2025 09:37:20 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=89=93=E5=8C=85=E8=87=AA?=
=?UTF-8?q?=E5=8A=A8=E5=88=A0=E9=99=A4=E9=9D=9E=E5=BD=93=E5=89=8D=E5=B9=B3?=
=?UTF-8?q?=E5=8F=B0=E7=9A=84=E8=B5=84=E6=BA=90=E5=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Assets/Scripts/Editor/VirtualFPostProcess.cs | 68 ++++++++++++++++++++
Assets/Scripts/Global/Global.cs | 5 +-
2 files changed, 72 insertions(+), 1 deletion(-)
diff --git a/Assets/Scripts/Editor/VirtualFPostProcess.cs b/Assets/Scripts/Editor/VirtualFPostProcess.cs
index 37b625a1..a687e3f0 100644
--- a/Assets/Scripts/Editor/VirtualFPostProcess.cs
+++ b/Assets/Scripts/Editor/VirtualFPostProcess.cs
@@ -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);
+ }
+
+ ///
+ /// ɾڵǰƽ̨Դ
+ ///
+ 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)
diff --git a/Assets/Scripts/Global/Global.cs b/Assets/Scripts/Global/Global.cs
index fe5f2b56..808c8902 100644
--- a/Assets/Scripts/Global/Global.cs
+++ b/Assets/Scripts/Global/Global.cs
@@ -13,8 +13,11 @@ public class Global : Singleton
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";