public void Save() { FileStream file = File.Open(Application.persistentDataPath + "/savedGames.rsave", FileMode.OpenOrCreate); var xs = new XmlSerializer(typeof(SerClass)); var sC = new SerClass(); sC.gold = FindObjectOfType <UI>().gold; sC.lives = FindObjectOfType <UI>().lives; sC.wave = FindObjectOfType <UI>().waveCount; sC.randomTimer = FindObjectOfType <UI>().randomTimer; sC.mCam = Camera.main.transform.position; sC.towersPos = FindObjectOfType <UI>().towerPosL; sC.towerName = FindObjectOfType <UI>().towerTypesL; sC.platforms = FindObjectOfType <UI>().platformNameL; sC.parent = FindObjectOfType <UI>().parent; foreach (var item in FindObjectsOfType <fire>()) { Debug.Log(item.level); sC.levels.Add(item.level); } xs.Serialize(file, sC); Destroy(sC); file.Close(); }
public void Load() { if (File.Exists(Application.persistentDataPath + "/savedGames.rsave")) { var sc2 = new SerClass(); FileStream file = File.Open(Application.persistentDataPath + "/savedGames.rsave", FileMode.Open); var xml = new XmlSerializer(typeof(SerClass)); sc2 = (SerClass)xml.Deserialize(file); FindObjectOfType <UI>().gold = sc2.gold; FindObjectOfType <UI>().lives = sc2.lives; FindObjectOfType <UI>().waveCount = sc2.wave; FindObjectOfType <UI>().randomTimer = sc2.randomTimer; Camera.main.transform.position = (Vector3)sc2.mCam; FindObjectOfType <UI>().towerPosL = (List <Vector3>)sc2.towersPos; FindObjectOfType <UI>().towerTypesL = (List <string>)sc2.towerName; for (int i = 0; i < sc2.towerName.Count; i++) { var buf = (GameObject)Instantiate(Resources.Load("Prefabs/TowerTypes/" + sc2.towerName[i]), (Vector3)sc2.towersPos[i], new Quaternion(0, 0, 0, 0)); buf.GetComponent <Upgrade>().LevelUp(sc2.levels[i]); buf.transform.SetParent(GameObject.Find(sc2.parent[i]).transform); FindObjectOfType <UI>().platformsL.Remove(GameObject.Find(sc2.parent[i])); //platform remove from } DestroyObject(sc2); file.Close(); } }
public void Xml_Serialization() { SerClass obj = new SerClass(); obj.x = int.MaxValue; obj.y = int.MinValue; obj.value = "Some_String"; Serializer<SerClass> serializer = new Serializer<SerClass>(); // Save string filename = "test.xml"; serializer.Save(filename, obj, SerializationMethod.Xml); Assert.IsTrue(File.Exists(filename)); // Open SerClass obj2 = serializer.Open(filename, SerializationMethod.Xml); Assert.AreEqual(obj.x, obj2.x); Assert.AreEqual(obj.y, obj2.y); Assert.AreEqual(obj.z, obj2.z); Assert.AreEqual(obj.value, obj2.value); }