【m】修改打包配置

This commit is contained in:
2025-07-23 10:01:24 +08:00
parent 8a1b341cfc
commit fe96c4ff34
2 changed files with 42 additions and 17 deletions

View File

@@ -21,6 +21,7 @@ public static class ShaderVariantCollector
}
private const float WaitMilliseconds = 3000f;
private const float SleepMilliseconds = 3000f;
// private static string _savePath;
// private static string _packageName;
@@ -35,6 +36,14 @@ public static class ShaderVariantCollector
// 新增任务队列
private static Queue<CollectTask> _taskQueue = new Queue<CollectTask>();
private static CollectTask _currentTask;
public static string OriginalScenePath { get; set; }
static ShaderVariantCollector()
{
// 保存当前场景路径
OriginalScenePath = EditorSceneManager.GetActiveScene().path;
}
// 新增初始化方法
private static void InitializeTask(CollectTask task)
@@ -48,6 +57,7 @@ public static class ShaderVariantCollector
task.Steps = ESteps.Prepare;
}
/// <summary>
/// 开始收集
/// </summary>
@@ -74,8 +84,13 @@ public static class ShaderVariantCollector
{
EditorApplication.update -= EditorUpdate;
EditorApplication.update += EditorUpdate;
}
// 聚焦到游戏窗口
//EditorTools.FocusUnityGameWindow();
// 创建临时测试场景
CreateTempScene();
}
}
private static void EditorUpdate()
@@ -86,6 +101,7 @@ public static class ShaderVariantCollector
_currentTask = _taskQueue.Dequeue();
InitializeTask(_currentTask);
}
if (_currentTask == null)
return;
@@ -109,12 +125,12 @@ public static class ShaderVariantCollector
if (_currentTask.Steps == ESteps.CollectVariants)
{
int count = Mathf.Min(_currentTask.ProcessMaxNum, _currentTask.AllMaterials.Count);
List<string> range = _currentTask.AllMaterials.GetRange(0, count);
int count = Mathf.Min(_currentTask.ProcessMaxNum, _currentTask.AllMaterials.Count);
List<string> range = _currentTask.AllMaterials.GetRange(0, count);
_currentTask.AllMaterials.RemoveRange(0, count);
CollectVariants(range);
if ( _currentTask.AllMaterials.Count > 0)
if (_currentTask.AllMaterials.Count > 0)
{
_currentTask.ElapsedTime = Stopwatch.StartNew();
_currentTask.Steps = ESteps.CollectSleeping;
@@ -132,14 +148,14 @@ public static class ShaderVariantCollector
{
DestroyAllSpheres();
_currentTask.ElapsedTime.Stop();
_currentTask.Steps = ESteps.CollectVariants;
_currentTask.Steps = ESteps.CollectVariants;
}
}
if ( _currentTask.Steps == ESteps.WaitingDone)
if (_currentTask.Steps == ESteps.WaitingDone)
{
// 注意:一定要延迟保存才会起效
if ( _currentTask.ElapsedTime.ElapsedMilliseconds > WaitMilliseconds)
if (_currentTask.ElapsedTime.ElapsedMilliseconds > WaitMilliseconds)
{
_currentTask.ElapsedTime.Stop();
_currentTask.Steps = ESteps.None;
@@ -150,12 +166,22 @@ public static class ShaderVariantCollector
UnityEngine.Debug.Log($"搜集SVC完毕");
_currentTask.CompletedCallback?.Invoke();
_currentTask = null;
_currentTask.CompletedCallback?.Invoke();
_currentTask = null;
// 如果队列还有任务,立即触发下一次更新
if (_taskQueue.Count > 0)
EditorApplication.QueuePlayerLoopUpdate();
// 如果队列还有任务,立即触发下一次更新
if (_taskQueue.Count > 0)
{
EditorApplication.QueuePlayerLoopUpdate();
}
else
{
// 恢复原场景
if (!string.IsNullOrEmpty(OriginalScenePath))
{
EditorSceneManager.OpenScene(OriginalScenePath);
}
}
}
}
}
@@ -168,7 +194,8 @@ public static class ShaderVariantCollector
private static List<string> GetAllMaterials()
{
// 获取所有打包的资源
CollectResult collectResult = AssetBundleCollectorSettingData.Setting.BeginCollect(_currentTask.PackageName, false, false);
CollectResult collectResult =
AssetBundleCollectorSettingData.Setting.BeginCollect(_currentTask.PackageName, false, false);
// 搜集所有材质球
int progressValue = 0;
@@ -289,7 +316,6 @@ public static class ShaderVariantCollector
}
// 新增任务类
private class CollectTask
{
@@ -302,5 +328,4 @@ public static class ShaderVariantCollector
public List<string> AllMaterials;
public List<GameObject> AllSpheres = new List<GameObject>();
}
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "com.staryevo.main",
"version": "1.3.20",
"version": "1.3.21",
"displayName": "00.StaryEvo",
"description": "This is an Framework package(后台服务器版本端口9527)",
"unity": "2021.3",