Unity c # xmlDocument и Resources.Load / Unload - PullRequest
0 голосов
/ 18 марта 2019

Я работаю с XmlDocument.

TextAsset _textAsset = (TextAsset)Resources.Load(PathOfFile);
_xmlDoc = new XmlDocument();
_xmlDoc.LoadXml(_textAsset.text);

После этого я делаю некоторые изменения в _xmlDoc и сохраняю через:

_xmlDoc.Save(PathOfFile);

Но изменения вступают в силу только тогда, когда я заново открываю XML-файл из Проводника или Unity для скрытия.

Так что я думаю, проблема в том, что файл все еще открыт после Resources.Load.

Как мне это закрыть? (Resources.UnloadAsset(); не работает)

1 Ответ

0 голосов
/ 18 марта 2019

Чтобы немедленно увидеть изменения в Assets, сделанные любым сценарием редактора, вы должны вызвать AssetDatabase.Refresh(); в конце метода записи.


Afaik theсодержимое папок Resources в сборке ReadOnly , поэтому вы не можете использовать

_xmlDoc.Save(PathOfFile);

в сборке только в редакторе.Возможно, вам лучше использовать StreamingAssets для доступа к нему, используя Application.streamingAssetsPath или Application.persistentDataPath.

...