2

在完成 Windows 平台的构建(exe)后,我必须将两个文本文件和一个文件夹复制到我的构建数据文件夹。每次构建时,我都想将这些文件和文件夹从资产复制到构建数据文件夹。这可能是统一的吗?因为有时我忘记在数据文件夹中复制所需的文件,我的播放器无法正常工作。

4

2 回答 2

7

你可以订阅一个静态方法到PostprocessBuild.OnPostprocessBuild 每次构建完成时都会调用这个方法。因此,您的代码可能如下所示:

using UnityEditor;
using System.IO;
using UnityEditor.Build;
using UnityEngine;

class MyCustomBuildProcessor : IPostprocessBuild
{
    public int callbackOrder { get { return 0; } }
    public void OnPostprocessBuild(BuildTarget target, string path)
    {
        File.Copy("sourceFilePath","destinationFilePath");
    }
}
于 2017-11-11T13:13:40.097 回答
1

听起来您想要自己的自定义编辑器构建功能。您可以使用自定义编辑器菜单项来执行此操作。

Unity 编辑器扩展 - 菜单项

下面是代码的样子:

[MenuItem("MyBuildMenu/MyBuildMenuItem")]
static void BuildAndCopyItems()
{
    File.Copy("path1","path2"); // copy your files
    BuildPipeline.BuildPlayer(); // build the player
}

您需要将正确的参数传递给 BuildPlayer:

BuildPipeline.BuildPlayer

包含此脚本的文件需要在您的项目中名为“Editor”的文件夹中。

您将在 Unity 编辑器中获得一个新菜单项来执行您的自定义构建:

在此处输入图像描述

于 2017-11-11T06:43:53.423 回答