Загрузка игровых данных Unity

367
24 апреля 2017, 01:15

Здравствуйте, есть код загрузки данных из XML файла, есть так же сцена. Как реализовать кнопку в меню загрузки сцены с примененными игровыми данными из файла? Если добавить просто строку загрузки сцены а потом делать load() то получится то что load() будет использоваться но обьекты выстроятся по той схеме которая была на сцене.

public void load()
{
    if (!File.Exists(path))
    {
        if (File.Exists(Application.persistentDataPath + "/testsave.xml"))
            root = XDocument.Parse(File.ReadAllText(Application.persistentDataPath + "/testsave.xml")).Element("root");
    }
    else { root = XDocument.Parse(File.ReadAllText(path)).Element("root"); }
    if (root == null) { Debug.Log("level load failed");  return; }

    GenerateScene(root);

}
private void GenerateScene(XElement root)
{ foreach (SaveableObject obj in objects)
    {
        obj.DestroySelf();
    }
    foreach( XElement instance in root.Elements("instance"))
    {
        Vector2 position = Vector2.zero;
        position.x = float.Parse(instance.Attribute("x").Value);
        position.y = float.Parse(instance.Attribute("y").Value);
        Data.live = int.Parse(root.Attribute("Life").Value);
        if (Resources.Load<GameObject>(instance.Value) != null)
        {
            Instantiate(Resources.Load<GameObject>(instance.Value), position, Quaternion.identity);
        }
    }
}
READ ALSO
Горячие клавиши на команды

Горячие клавиши на команды

В программе используется TabControl

245
WebBrowser Как загрузить страницу offline

WebBrowser Как загрузить страницу offline

Как загрузить html или изображению без интернета как это делается в c# пеНапример на андроиде за такую функцию отвечает shouldoverrideurlloading а на javafx...

352
Правильное разделение интерфейсов

Правильное разделение интерфейсов

Есть legacy проект и массивные классы моделей, где они представлены как естьВ них много свойств которые можно разделить на множество разных...

239