在运行时编写/添加/重写一个类c#unity

时间:2016-01-01 12:30:50

标签: c# unity3d

在我的项目中,我有一些级别构建器,可以创建一个新的文本文件,并将所有想要的数据保存为1行可读的json字符串。

当项目在web构建或统一运行时,我可以自己阅读该文本文件中的级别,并且每个工作都很好,在移动构建中无法工作。

我的问题是: 有没有办法在运行时创建或添加行?

例如,在运行时在类中写一个新字符串,它将在运行时间结束后保留​​在那里?

3 个答案:

答案 0 :(得分:0)

不,没有。至少不在移动平台上。

但如果您将Api兼容级别设置为.Net 2.0,而不是.Net 2.0子集并在Player Setting中禁用条带引擎代码,那么您应该能够在移动平台上解析JSON。

答案 1 :(得分:0)

正如@Tijmen所说,没有办法在运行时更改C#类。但我认为没有理由这样做。相反,您应该更改JSON字符串,将其写入文件并重新创建级别实例。

查看您的代码会显示您正在写入Application.dataPath,这在iOS播放器中无法写入。因此,当您使用Application.persistentDataPath时,它应该可以正常工作。

此外,我不会调用文件夹 Resources ,因为这在Unity中具有特殊含义。

答案 2 :(得分:0)

不,没有,但您可以改为创建一个ArrayList,并将文本文件中的信息放入ArrayList中。然后从ArrayList中提取信息。