В общем недавно стал вопрос о переводе игры на несколько языков. До этого обходился комбинацией переменных. Но в игре которую разрабатываем много тескста. И вот я подумал, что будет хорошо хранить тексты на разных языках в xml.
Но xml я подзабыл, давненько с ним работал.
К сути есть такой xml
(тестовый)
Код
<Information>
<Language>
<Russian>Броня</Russian>
<English id="3" value1="chthb" value2="rtvfascf" value3="xasedfvg">>Armor</English>
</Language>
</Information>
И есть такой скрипт где я считываю эти значения
Код
using UnityEngine;
using System.Collections;
using System.IO;
using System.Xml;
using System.Text;
public class XmlWork : MonoBehaviour {
public string State;
public string Work;
public int Par;
// Use this for initialization
void Start() {
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("Save.xml");//загружаем наш документ
State = xmlDoc.GetElementsByTagName("Russian")[0].InnerText;
Par = int.Parse(xmlDoc.GetElementsByTagName("English")[0].Attributes.GetNamedItem("id").Value.ToString());
}
void Update()
{
}
}
Вроде все работает.
У меня возникли такие вопросы
- правильно ли я считываю значения ? и присваиваю переменным значения. С точки зрения оптимизации
И насколько это затратно если примерно такие операции будут проходить в Update и притом много таких присвоений B). Плюс код слишком массивный
- можно ли загружать несколько xml файлов одновременно с использованием xml.Load(fileName)
Ну в общем все