Beispiel #1
0
    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();
    }
Beispiel #2
0
    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();
        }
    }
Beispiel #3
0
        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);
        }