完整脚本(下面有更多详情)
using System;
using System.Collections.Generic;
using System.Text;
using UnityEngine;
using System.IO;
using System.Windows.Forms;
namespace BuildShare
{
class BuildSaveHandler
{
public static void ExportSaveToFile(Build.BuildSave save)
{
SaveFileDialog SaveToFile = new SaveFileDialog();
SaveToFile.FileName = save.saveName + ".txt";
SaveToFile.Filter = "Text File | *.txt";
SaveToFile.ShowDialog();
if (SaveToFile.ShowDialog() == DialogResult.OK)
{
StreamWriter writer = new StreamWriter(SaveToFile.OpenFile());
writer.WriteLine(JsonUtility.ToJson(save));
writer.Dispose();
writer.Close();
}
}
}
}
当我运行ExportSaveFile时,我得到"无法加载类型' ThreadContext'来自assembly' System.Windows.Forms,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'"。我只需通过调用ExportSaveFile(等)来运行它。我可能会缺少所需的组件吗?我运行应用程序的文件夹只能访问System.Windows.Forms.dll +其他必需的程序集。
这是一个单独的C#项目,正在编译成一个dll。它使用4.61 .Net Framework。
答案 0 :(得分:1)
您不能在Unity3D中使用SaveFileDialog
(或任何System.Windows.Forms对话框)。
相反,请使用EditorUtility.SaveFilePanel。