Как отобразить содержимое XML файла Unity 5
В сегодняшнем уроке мы разберем как отобразить содержимое файла XML Unity 5 и заполнить им класс персонажа. Для начала создадим XML файл, который мы должны будем распарсивать. Создадим файл PlayerData.XML в папке Resources, в котором напишем:
100 2 0.6 
Данный файл мы и будем распарсивать. Создадим класс Player, в который мы и будем преображать наши даные.
//Для того, чтоб данные отображались
//в инспекторе
[Serializable]
public class Player
{
    //3 переменные из файла, в которые
    //Мы будем выгружать
    public int Hp;
    public float Speed;
    public float Strength;
}
Далее создадим скрипт XmlToObjects, который считает наш файл и по алгоритму выгрузит его в приемлимый для нас класс.
//Не забываем подключить пространство имен
using System.Xml;
//System - для работы Convert
using System;
//Делаем класс статичным, чтоб он был доступен отовсюду.
public static class XmlToObjects {
	public static Player ReadXMLToPlayer(string Path)
    {
        //Создаем новый объект нашего XML документа
        var document = new XmlDocument();
        //Загружаем нужный нам файл
        document.Load(Path);
        //Получаем главный элемент документа
        //В котором лежат все узлы
        XmlElement elem = document.DocumentElement;
        //Создаем новый объект данных игрока
        Player PlayerData = new Player();
        //Выгружаем данные, преобразовывая в нужный формат
        //ChildNodes[i] - это узлы которые хранят в себе данные
        //Но могут хранить и другие узлы, так как XML
        //имеет древовидную структуру, что позволяет
        //Уходить далеко вглубь
        PlayerData.Hp = Convert.ToInt32(elem.ChildNodes[0].InnerText);
        PlayerData.Speed= Convert.ToSingle(elem.ChildNodes[1].InnerText);
        PlayerData.Strength = Convert.ToSingle(elem.ChildNodes[2].InnerText);
        return PlayerData;
    }
}
А теперь создадим класс, который повесим на игрока, и который будет запускать нашу выгрузку
public class PlayerController : MonoBehaviour
{
    public Player PlayerData;
    private void Start()
    {
        //Выгрузим данные их XML
        PlayerData = XmlToObjects.ReadXMLToPlayer(Application.dataPath + "/Resources/PlayerData.xml");
    }
}
По итогу реализации скрипта мы должны будем отобразить содержимое XML файла в Unity. Теперь при запуске игры, наш скрипт выгружает данные и заносит их в класс Player. Выглядит это так:


 (4 оценок, среднее: 4,00 из 5)
 (4 оценок, среднее: 4,00 из 5) 
																							 
																							