Example #1
0
    private void AddCarrige(XmlDocument xmlDoc, XmlNode train, Carrige car)
    {
        XmlElement element;
        XmlNode    userNode;
        XmlNode    carNode = xmlDoc.CreateElement("Carrige");

        element = xmlDoc.CreateElement("CarrigeName");
        element.SetAttribute("value", car.carName);
        carNode.AppendChild(element);
        element = xmlDoc.CreateElement("CarrigeNum");
        element.SetAttribute("value", car.num.ToString());
        carNode.AppendChild(element);

        Debug.Log("Start save slots");
        for (int i = 0; i < car.slots.Count; i++)
        {
            userNode = xmlDoc.CreateElement("Slot");
            element  = xmlDoc.CreateElement("Turret");
            element.SetAttribute("value", car.slots[i].turret);
            userNode.AppendChild(element);

            element = xmlDoc.CreateElement("Num");
            element.SetAttribute("value", car.slots[i].pos.ToString());
            userNode.AppendChild(element);
            carNode.AppendChild(userNode);
        }

        train.AppendChild(carNode);
    }
Example #2
0
    public void LoadTrainFile(Train tr)
    {
        Debug.Log("Start load.");
        tr.carriges.Clear();

        XmlTextReader reader = new XmlTextReader(Application.dataPath + "/" + fileName2 + ".xml");
        int           index  = 0;

        Carrige car  = new Carrige();
        Slot    slot = new Slot();

        while (reader.Read())
        {
            if (reader.IsStartElement("CarrigeName"))
            {
                //print(reader.GetAttribute("value"));
                car.carName = reader.GetAttribute("value");
            }
            if (reader.IsStartElement("CarrigeNum"))
            {
                //print("CarrigeNum: " + reader.GetAttribute("value"));
                car.num = Convert.ToInt32(reader.GetAttribute("value"));
            }
            if (reader.IsStartElement("Turret"))
            {
                //print(reader.GetAttribute("value"));
                slot.turret = reader.GetAttribute("value");
            }
            if (reader.IsStartElement("Num"))
            {
                //print("Slot Num: " + reader.GetAttribute("value"));
                slot.pos = Convert.ToInt32(reader.GetAttribute("value"));
            }
            if (reader.NodeType == XmlNodeType.EndElement)
            {
                if (reader.Name == "Carrige")
                {
                    tr.carriges.Add(car);
                    car = new Carrige();
                }
                if (reader.Name == "Slot")
                {
                    car.slots.Add(slot);
                    slot = new Slot();
                }
            }
        }
        Debug.Log("End load train");
        reader.Close();
    }