统一编译后在数据文件夹中复制一些额外的文件
我必须将两个文本文件和一个文件夹复制到构建数据文件夹中,然后再编译窗口。每次我建立我想要从资产复制这些文件和文件夹建立数据文件夹。这可能是统一的吗?导致有时我忘记复制数据文件夹中的所需文件,并且我的播放器无法正常工作。统一编译后在数据文件夹中复制一些额外的文件
这听起来像你想要你自己的自定义编辑器构建函数。您可以使用自定义编辑器菜单项执行此操作。
Unity Editor Extensions – Menu Items
下面是代码可能看起来像:
[MenuItem("MyBuildMenu/MyBuildMenuItem")]
static void BuildAndCopyItems()
{
File.Copy("path1","path2"); // copy your files
BuildPipeline.BuildPlayer(); // build the player
}
你需要正确的参数传递给BuildPlayer:
包含该文件脚本将需要位于您的项目中名为“编辑器”的文件夹中。
你会在Unity编辑得到一个新的菜单项,执行您的自定义生成:
您可以订阅一个静态方法来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");
}
}
所以我要硬编码你有路径 –
不忘加上系统.io –
好点,固定的。 那么,你也可以使用编辑器窗口设置路径并将它们存储在EditorPrefs(https://docs.unity3d.com/ScriptReference/EditorPrefs.html)中。 要获得项目的路径,您可以使用Application.dataPath。 – Johannski
你不需要自定义生成做到这一点 – Programmer
所以我要硬编码路径 –