Beispiel #1
0
    public void Load()
    {
        if (!isHouse)
        {
            if (File.Exists(Application.persistentDataPath + "/outsidePlacedData.dat"))
            {
                BinaryFormatter bf   = new BinaryFormatter();
                FileStream      file = File.Open(Application.persistentDataPath + "/outsidePlacedData.dat", FileMode.Open);

                OutsidePlacedData data = (OutsidePlacedData)bf.Deserialize(file);
                file.Close();

                itemCount   = data.itemCount;
                placedItems = new List <string>(data.placedItems.Count);
                for (int i = 0; i < data.placedItems.Count; i++)
                {
                    placedItems.Add(data.placedItems[i]);
                }

                itemLocations = new List <Vector3Holder>(data.itemLocations.Count);
                for (int i = 0; i < data.itemLocations.Count; i++)
                {
                    itemLocations.Add(data.itemLocations[i]);
                }

                itemRotations = new List <Vector3Holder>(data.itemRotations.Count);
                for (int i = 0; i < data.itemRotations.Count; i++)
                {
                    itemRotations.Add(data.itemRotations[i]);
                }
            }
            else
            {
                placedItems   = new List <string>();
                itemLocations = new List <Vector3Holder>();
                itemRotations = new List <Vector3Holder>();
                itemCount     = 0;
            }
        }
        else
        {
            if (File.Exists(Application.persistentDataPath + "/housePlacedData.dat"))
            {
                BinaryFormatter bf   = new BinaryFormatter();
                FileStream      file = File.Open(Application.persistentDataPath + "/housePlacedData.dat", FileMode.Open);

                HousePlacedData data = (HousePlacedData)bf.Deserialize(file);
                file.Close();

                itemCount   = data.itemCount;
                placedItems = new List <string>(data.placedItems.Count);
                for (int i = 0; i < data.placedItems.Count; i++)
                {
                    placedItems.Add(data.placedItems[i]);
                }

                itemLocations = new List <Vector3Holder>(data.itemLocations.Count);
                for (int i = 0; i < data.itemLocations.Count; i++)
                {
                    itemLocations.Add(data.itemLocations[i]);
                }

                itemRotations = new List <Vector3Holder>(data.itemRotations.Count);
                for (int i = 0; i < data.itemRotations.Count; i++)
                {
                    itemRotations.Add(data.itemRotations[i]);
                }
            }
            else
            {
                placedItems   = new List <string>();
                itemLocations = new List <Vector3Holder>();
                itemRotations = new List <Vector3Holder>();
                itemCount     = 0;
            }
        }
    }
Beispiel #2
0
    public void Save()
    {
        //Save objects, either house or outside objects
        if (!isHouse)
        {
            BinaryFormatter bf   = new BinaryFormatter();
            FileStream      file = File.Open(Application.persistentDataPath + "/outsidePlacedData.dat", FileMode.Create);

            OutsidePlacedData data = new OutsidePlacedData();
            data.itemCount = itemCount;

            data.placedItems = new List <string>(placedItems.Count);
            for (int i = 0; i < placedItems.Count; i++)
            {
                data.placedItems.Add(placedItems[i]);
            }

            data.itemLocations = new List <Vector3Holder>(itemLocations.Count);
            for (int i = 0; i < itemLocations.Count; i++)
            {
                data.itemLocations.Add(itemLocations[i]);
            }

            data.itemRotations = new List <Vector3Holder>(itemRotations.Count);
            for (int i = 0; i < itemRotations.Count; i++)
            {
                data.itemRotations.Add(itemRotations[i]);
            }

            bf.Serialize(file, data);
            file.Close();
        }
        else
        {
            BinaryFormatter bf   = new BinaryFormatter();
            FileStream      file = File.Open(Application.persistentDataPath + "/housePlacedData.dat", FileMode.Create);

            HousePlacedData data = new HousePlacedData();
            data.itemCount = itemCount;

            data.placedItems = new List <string>(placedItems.Count);
            for (int i = 0; i < placedItems.Count; i++)
            {
                data.placedItems.Add(placedItems[i]);
            }

            data.itemLocations = new List <Vector3Holder>(itemLocations.Count);
            for (int i = 0; i < itemLocations.Count; i++)
            {
                data.itemLocations.Add(itemLocations[i]);
            }

            data.itemRotations = new List <Vector3Holder>(itemRotations.Count);
            for (int i = 0; i < itemRotations.Count; i++)
            {
                data.itemRotations.Add(itemRotations[i]);
            }

            bf.Serialize(file, data);
            file.Close();
        }
    }