using System.Collections;
using System.Collections.Generic;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
using UnityEngine;
[System.Serializable]
public class PatternElement {
[XmlAttribute("xPosition")]
public int xPos;
[XmlAttribute("yPosition")]
public int yPos;
[XmlArray("colorCodes"),XmlArrayItem("RGB")]
public int[] color = new int[3];
}
[System.Serializable]
public class Pattern {
[XmlArray("Parts"),XmlArrayItem("PatternElement")]
public PatternElement[] game;
}
[System.Serializable]
[XmlRoot("MainPatternsClassNew")]
public class allPatternsCl {
[XmlArray("AllPatterns"),XmlArrayItem("Pattern")]
public Pattern[] allPatterns;
}
public class Patterns : MonoBehaviour {
public allPatternsCl all;
public bool Save;
public bool Load;
XmlSerializer xmls = new XmlSerializer (typeof(allPatternsCl));
void Start () {
}
void Update () {
if (Save || Load) {
Start ();
}
if (Save) {
FileStream stream = File.OpenWrite ("pat.xml");
Save = false;
xmls.Serialize (stream, new allPatternsCl { allPatterns = all.allPatterns });
}
if (Load) {
FileStream stream = File.OpenRead ("pat.xml");
Load = false;
allPatternsCl allPatterns = null;
allPatterns = xmls.Deserialize (stream) as allPatternsCl;
}
}
}
I can write the file fine, it comes to this.
<?xml version="1.0" encoding="utf-8"?>
<MainPatternsClass xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<AllPatterns>
<Pattern>
<Parts>
<PatternElement xPosition="0" yPosition="0">
<colorCodes>
<RGB>255</RGB>
<RGB>0</RGB>
<RGB>0</RGB>
</colorCodes>
</PatternElement>
<PatternElement xPosition="2" yPosition="0">
<colorCodes>
<RGB>0</RGB>
<RGB>255</RGB>
<RGB>0</RGB>
</colorCodes>
</PatternElement>
</Parts>
</Pattern>
</AllPatterns>
</MainPatternsClass>
yet whenever I change the values in unity and tell it to load, nothing changes in the inspector, no errors…