遇到打包好的工程,代码里做了一些修改,不想重新打包,可以直接打包代码,替换dll
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System.IO;
using UnityEditor.Build.Player;
/// <summary>
/// 自定义Build
/// </summary>
public class CustomBuild
{
[MenuItem("构建/代码构建")]
public static void BuildScripts()
{
var tempOutputPath = $"{Application.dataPath}/../Dlls";
Directory.CreateDirectory(tempOutputPath);
ScriptCompilationSettings scriptCompilationSettings = new ScriptCompilationSettings();
scriptCompilationSettings.group = BuildPipeline.GetBuildTargetGroup(BuildTarget.StandaloneWindows64);
scriptCompilationSettings.target = BuildTarget.StandaloneWindows64;
PlayerBuildInterface.CompilePlayerScripts(scriptCompilationSettings, tempOutputPath);
}
[MenuItem("构建/为所有预制添加AB名称")]
public static void AddAllAssetBundleName()
{
string[] arrStrAudioPath = Directory.GetFiles(Application.dataPath + "/Art/", "*.prefab", SearchOption.AllDirectories);
for (int i = 0; i < arrStrAudioPath.Length; i++)
{
arrStrAudioPath[i] = arrStrAudioPath[i].Substring(Application.dataPath.Length - 6, arrStrAudioPath[i].Length - (Application.dataPath.Length - 6));
arrStrAudioPath[i] = arrStrAudioPath[i].Replace(@"\", "/");
var ai = AssetImporter.GetAtPath(arrStrAudioPath[i]);
if (ai.assetBundleName == string.Empty)
{
//QFramework.ResKitAssetsMenu.MarkAB(arrStrAudioPath[i]);
}
}
}
}