Unity Editor - 从 BinaryWriter 到 Object 或 TextAsset

Unity Editor - From BinaryWriter to Object or TextAsset

有什么方法可以检索 BinaryWriter 创建的文件并将其转换为 TextAsset 或 Object?

我正在为我的项目创建一个自定义编辑器,它有一个创建新二进制文件的选项:

字段 'File' 供用户拖动现有文件,但用户可以按 'Create New File' 按钮创建一个新文件,理想情况下我希望新创建的文件自动生成放置在字段 'File'.

编辑:尽可能避免将二进制文件保存到资源文件夹,然后加载它并将其转换为 TextAsset。

提前致谢!

  1. 使用 BinaryWriter 将新的 TextFile 保存到 Resources 文件夹中。 (如果有 none,请在您的工作区中创建)

2.a) 通过

获取文件作为 TextAsset
 TextAsset textFile = (TextAsset)Resources.Load("myTextFile"), typeof(TextAsset));

2.b) 或者,尝试加载最近生成的文件:

AssetDatabase.ImportAsset(path); // Update/Reload File in Unity
TextAsset asset = Resources.Load("myTextFile");
  1. 将 textFile 分配给自定义编辑器脚本中的 public 变量 File

如果您不想要资源文件夹,试试这个:

AssetDatabase.LoadAssetAtPath

注意:AssetDatabase.Refresh()更新了Unity的文件目录,所以我错了ImportAsset。请参阅下面的评论。