Ejemplo n.º 1
0
    public int GetNbrOfFrames(string thePath)
    {
        DataToSave junk = ReadJsonFileFromAbsolutePath(thePath);


        return(junk.screenshotsInfo.Count);
    }
Ejemplo n.º 2
0
        private void bw_DoWork(object sender, DoWorkEventArgs e)
        {
            // parsing instance
            ParseTTDb parseTTDb = new ParseTTDb(GetAllProducers(), GetItemCount());


            DataToSave[] dataToSave = new DataToSave[parseTTDb.Pages.Length];

            // initiate dictionries with items in database
            Dictionary <string, dynamic>[] invenoryList =
            {
                GetAllInventory(parseTTDb.Types[0]), GetAllInventory(parseTTDb.Types[1]),
                GetAllInventory(parseTTDb.Types[2])
            };

            // perform parsing
            for (int i = 0; i < parseTTDb.Pages.Length; i++)
            {
                bw.ReportProgress(0, parseTTDb.Pages[i] + " parsing");
                dataToSave[i] = parseTTDb.ParseItems(parseTTDb.Pages[i], parseTTDb.Types[i], invenoryList[i], bw, out itemCount);
            }

            // insert producers into database
            bw.ReportProgress(0, "Insert producers");
            InsertProducers(parseTTDb.ProducersToInsert);

            // insert and update database
            for (int i = 0; i < dataToSave.Length; i++)
            {
                bw.ReportProgress(0, $"Insert {parseTTDb.Pages[i]}");
                InsertItems(dataToSave[i].ItemsToInsert);
                bw.ReportProgress(0, $"Update {parseTTDb.Pages[i]}");
                UpdateItems(dataToSave[i].ItemsToUpdate);
            }
        }
 public void Input(DataToSave _item)
 {
     if (Save.SeedSet)
     {
         TilesToSave.Add(_item);
     }
 }
Ejemplo n.º 4
0
    //PERMITE SERIALIZAR LOS DICCIONARIOS
    void serializeDictionaries(DataToSave data)
    {
        List <int>    gridObjectsKeys   = new List <int>();
        List <string> gridObjectsValues = new List <string>();

        foreach (KeyValuePair <int, GameObject> pair in gridObjects)
        {
            gridObjectsKeys.Add(pair.Key);
            gridObjectsValues.Add(pair.Value.tag);
        }

        List <int>   timeToCollectKeys   = new List <int>();
        List <float> timeToCollectValues = new List <float>();

        foreach (KeyValuePair <int, float> pair in timeToCollect)
        {
            timeToCollectKeys.Add(pair.Key);
            timeToCollectValues.Add(pair.Value);
        }

        data.gridObjectsKeys     = gridObjectsKeys;
        data.gridObjectsValues   = gridObjectsValues;
        data.timeToCollectKeys   = timeToCollectKeys;
        data.timeToCollectValues = timeToCollectValues;
    }
Ejemplo n.º 5
0
    public void Load()
    {
        DataToSave data = SaveToBinary.LoadData(this); // parameter is being wasted

        if (data != null)
        {
            Debug.Log("We Loaded");
        }
        else
        {
            Debug.Log("We f****d up load!");
            return;
        }
        playerName = data.playerName;
        level      = data.level;
        maxHP      = data.maxHP;
        maxMana    = data.maxMana;
        maxStam    = data.maxStam;
        curHP      = data.curHP;
        curMana    = data.curMana;
        curStam    = data.curStam;

        savePos.x = data.x;
        savePos.y = data.y;
        savePos.z = data.z;

        this.transform.position = savePos;
    }
Ejemplo n.º 6
0
    //GUARDA EL ESTADO DEL JUEGO EN UN ARCHIVO
    public void Save()
    {
        BinaryFormatter bf   = new BinaryFormatter();
        FileStream      file = File.Create(filePath);

        DataToSave data = new DataToSave();

        //DATOS QUE SE ALMACENAN

        data.playerName = playerName;
        data.coins      = coins;
        // data.gridObjects = gridObjects; //error con diccionarios
        data.stationActive = stationActive;
        //data.timeToCollect = timeToCollect; //error con diccionarios
        data.lastTimeMainScene = lastTimeMainScene;

        data.diffLevelOflevels = diffLevelOflevels;

        serializeDictionaries(data); //funcion que permite serializar los diccionarios.


        bf.Serialize(file, data);

        file.Close();

        Debug.Log("Juego guardado");
    }
Ejemplo n.º 7
0
        /// <summary>
        /// Загрузить данные
        /// </summary>
        public void Load()
        {
            var savedData = PlayerPrefs.GetString(SAVE_KEY);

            Data = JsonUtility.FromJson <DataToSave>(savedData);
            PlayerManager.SetInfo(Data.PlayerInfo);
        }
Ejemplo n.º 8
0
    public static void LoadStatic()
    {
        string     data       = ReadFromFile(FileName);
        DataToSave dataToSave = JsonUtility.FromJson <DataToSave>(data);

        NPC.dialogNumStatic  = dataToSave.dialogNumStatic;
        NPC.levelTrustStatic = dataToSave.levelTrustStatic;
    }
Ejemplo n.º 9
0
    public DataToSave SetDataBeforeCapturing(string thePath, int frameIndex, GameObject thePrefab)
    {
        _data = ReadJsonFileFromAbsolutePath(thePath);
        SetFrameDipendentValuesFromAbsolutePath(thePath, frameIndex, thePrefab);


        return(_data);
    }
Ejemplo n.º 10
0
 public void PlaceTileClick(CustomTile _tile)
 {
     if (_tile != null)
     {
         DropBlock(_tile);
     }
     if (_tile != null && _tile.Item != null && _tile.Item.CanBePlaced || m_manager.Creative)
     {
         Vector2 worldPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
         m_placePos = new Vector3Int((int)worldPosition.x, (int)worldPosition.y, 0);
         if (m_enemySpawner.Enemies.All(g => new Vector3Int((int)g.transform.position.x, (int)g.transform.position.y, (int)g.transform.position.z) != m_placePos))
         {
             float      distance = Vector3Int.Distance(m_placePos, new Vector3Int((int)transform.position.x, (int)transform.position.y, (int)transform.position.z));
             CustomTile newCopy  = Instantiate(_tile);
             if (distance <= MaxRange)
             {
                 if (Input.GetMouseButton(1))
                 {
                     if (newCopy.Type == TileType.Wall)
                     {
                         if (WallGen.GetTilemap().GetTile(m_placePos) == null)
                         {
                             if (new Vector3Int((int)transform.position.x, (int)transform.position.y, 0) != m_placePos)
                             {
                                 PTile(newCopy);
                                 if (!m_fileManager.PlacedOnTiles.ContainsKey(m_placePos))
                                 {
                                     m_fileManager.PlacedOnTiles.Add(m_placePos, TileManager.GetTileDictionaryFloor()[m_placePos].CustomTile);
                                 }
                                 if (TileManager.GetTileDictionaryFloor().ContainsKey(m_placePos))
                                 {
                                     int        id       = TileManager.GetTileDictionaryFloor()[m_placePos].CustomTile.ID;
                                     DataToSave tempData = new DataToSave
                                     {
                                         Position     = new Vector2Int(m_placePos.x, m_placePos.y),
                                         IsPlacedTile = true,
                                         ID           = id,
                                     };
                                     m_fileManager.Input(tempData);
                                 }
                             }
                         }
                     }
                     if (newCopy.Type == TileType.Floor || newCopy.Type == TileType.Path)
                     {
                         if (WallGen.GetTilemap().GetTile(m_placePos) == null)
                         {
                             if (TileManager.GetTileDictionaryFloor()[m_placePos].CustomTile.ID != _tile.ID)
                             {
                                 PTile(newCopy);
                             }
                         }
                     }
                 }
             }
         }
     }
 }
    public static byte [] ToBytes(DataToSave data)
    {
        var formatter = new BinaryFormatter();

        using (var stream = new MemoryStream()) {
            formatter.Serialize(stream, data);
            return(stream.ToArray());
        }
    }
Ejemplo n.º 12
0
    public void Load()
    {
        DataToSave data = SaveToBinary.LoadData(this);

        maxHp   = data.maxHp;
        curHp   = data.curHp;
        maxMana = data.maxMana;
        curMana = data.curMana;
    }
Ejemplo n.º 13
0
    public void Load()
    {
        DataToSave data = SaveLoad.LoadCheckPoint();

        x = data.x;
        y = data.y;
        z = data.z;
        respawnPoint.playerGhost  = new Vector3(x, y, z);
        player.transform.position = respawnPoint.playerGhost;
    }
Ejemplo n.º 14
0
    void Start()
    {
        _lightEstimation         = new LightEstimation();
        _planeBackgroundMaterial = _backgroundPlaneRenderer.material;
        _currentScreenShot       = new Texture2D(750, 1334);

        _data = ReadJsonFile(_folderPath);

        SetFrameDipendentValues(_selectedFrame, null);
    }
Ejemplo n.º 15
0
    public static void SaveStatic()
    {
        DataToSave dataToSave = new DataToSave()
        {
            levelTrustStatic = NPC.levelTrustStatic, dialogNumStatic = NPC.dialogNumStatic
        };
        string data = JsonUtility.ToJson(dataToSave);

        WriteToFilestring(FileName, data);
    }
Ejemplo n.º 16
0
    public static void SaveCheckpoint(PauseMenu saveCheckpoint)
    {
        BinaryFormatter formatter = new BinaryFormatter();
        string          path      = Application.persistentDataPath + "/Saves/" + "LastCheckpoint.bat";
        FileStream      stream    = new FileStream(path, FileMode.Create);
        DataToSave      data      = new DataToSave(saveCheckpoint);

        formatter.Serialize(stream, data);
        stream.Close();
    }
Ejemplo n.º 17
0
    public static void SaveData(PlayerManager player)
    {
        BinaryFormatter formatter = new BinaryFormatter();
        string          path      = Application.persistentDataPath + "/" + player.playerName + ".data";
        FileStream      stream    = new FileStream(path, FileMode.Create);
        DataToSave      data      = new DataToSave(player);

        formatter.Serialize(stream, data);
        stream.Close();
    }
Ejemplo n.º 18
0
    void PTile(CustomTile _copy)
    {
        Tilemap        toPlace  = null;
        Tilemap        toRemove = null;
        DictionaryType _type    = DictionaryType.Walls;

        switch (_copy.Type)
        {
        case TileType.Wall:
            toPlace  = WallGen.GetTilemap();
            toRemove = DungeonUtility.GetTilemap();
            _type    = DictionaryType.Walls;
            break;

        case TileType.Floor:
            toPlace  = DungeonUtility.GetTilemap();
            toRemove = DungeonUtility.GetTilemap();
            _type    = DictionaryType.Floor;
            break;

        case TileType.Path:
            toPlace  = DungeonUtility.GetTilemap();
            toRemove = DungeonUtility.GetTilemap();
            _type    = DictionaryType.Floor;
            break;
        }
        int id = 0;

        for (int a = 0; a < TileManager.GetTileHolder(_copy.Type).Tiles.Count; ++a)
        {
            if (TileManager.GetTileHolder(_copy.Type).Tiles[a].ID == _copy.ID)
            {
                _copy = TileManager.GetTileHolder(_copy.Type).Tiles[a];
                id    = TileManager.GetTileHolder(_copy.Type).Tiles[a].ID;
            }
        }
        TileManager.PlaceTile(m_placePos, m_index, toRemove, toPlace, _copy, _type);
        ApplySpriteVariation(_copy, toPlace, m_placePos);
        Instantiate(m_audioPlaceSource);
        if (!m_manager.Creative && BackPack.GetStorageTypeCount(_copy) > 0)
        {
            BackPack.RemoveItem(_copy.Item);
            if (BackPack.GetNewItem(_copy) != null)
            {
                _copy.Item = Instantiate(BackPack.GetNewItem(_copy));
            }
        }
        DataToSave tempData = new DataToSave
        {
            Position = new Vector2Int(m_placePos.x, m_placePos.y),
            ID       = id
        };

        m_fileManager.Input(tempData);
    }
Ejemplo n.º 19
0
    public static void SaveData(PlayerStats p)
    {
        BinaryFormatter formatter = new BinaryFormatter();
        string          path      = Application.persistentDataPath + p.playerName + ".death";
        FileStream      stream    = new FileStream(path, FileMode.Create);
        DataToSave      data      = new DataToSave(p);

        formatter.Serialize(stream, data);
        stream.Close();
        Debug.Log("We Saved");
    }
Ejemplo n.º 20
0
    public static void SaveData(CustSet cust)
    {
        BinaryFormatter formatter = new BinaryFormatter();
        string          path      = Application.persistentDataPath + "/Player.bruh";
        FileStream      stream    = new FileStream(path, FileMode.Create);

        DataToSave data = new DataToSave(cust);

        formatter.Serialize(stream, data);
        stream.Close();
    }
    // Convert byte array to class instance
    public static DataToSave FromBytes(byte [] data)
    {
        using (var stream = new MemoryStream()) {
            var formatter = new BinaryFormatter();
            stream.Write(data, 0, data.Length);
            stream.Seek(0, SeekOrigin.Begin);

            DataToSave block = (DataToSave)formatter.Deserialize(stream);
            return(block);
        }
    }
Ejemplo n.º 22
0
    /// <summary>
    /// Saves the game data when the user prefers to save.
    /// </summary>
    public void SaveData()
    {
        string     _dataToSave = String.Copy(Persistent.GetInstance().GetRetryPoint());
        DataToSave io          = new DataToSave(_dataToSave);

        string dataAsJson = JsonUtility.ToJson(io);
        string filePath   = Application.dataPath + gameDataFileName;


        File.WriteAllText(filePath, dataAsJson);
    }
Ejemplo n.º 23
0
 public int load()
 {
     if (File.Exists(Application.persistentDataPath + "/savedGames.gd"))
     {
         BinaryFormatter bf   = new BinaryFormatter();
         FileStream      file = File.Open(Application.persistentDataPath + "/savedGames.gd", FileMode.Open);
         myData = (DataToSave)bf.Deserialize(file);
         file.Close();
         return(myData.lastScene);
     }
     return(0);
 }
Ejemplo n.º 24
0
    public static void Save(int score, bool zombieMode)
    {
        string          path      = Application.persistentDataPath + "/MuteSave.X";
        BinaryFormatter formatter = new BinaryFormatter();
        FileStream      stream    = new FileStream(path, FileMode.OpenOrCreate);
        DataToSave      data;

        data = new DataToSave(zombieMode, score);

        formatter.Serialize(stream, data);
        stream.Close();
    }
Ejemplo n.º 25
0
    public void Load()
    {
        DataToSave data = SaveToBinary.LoadData(this);

        level              = data.level;
        maxHP              = data.maxHP;
        curHP              = data.curHP;
        maxXp              = data.maxExp;
        curXP              = data.curExp;
        savePos            = new Vector3(data.x, data.y, data.y);
        transform.position = savePos;
    }
Ejemplo n.º 26
0
 private void btnLoad_Click(object sender, EventArgs e)
 {
     if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
     {
         IFormatter formatter = new BinaryFormatter();
         Stream     file      = openFileDialog1.OpenFile();
         DataToSave obj       = (DataToSave)formatter.Deserialize(file);
         this.verbs = obj.verbs;
         nouns      = obj.nouns;
         viewer.Clear();
     }
 }
Ejemplo n.º 27
0
        /// <summary>
        /// Сохранить данные
        /// </summary>
        public void Save()
        {
            var saveObject = new DataToSave {
                PlayerInfo    = PlayerManager.GetInfo(),
                DaysPlayed    = DaysManager.CurrentDay,
                TrandTheme    = Trands.TrandTheme,
                TrandStyle    = Trands.TrandStyle,
                AutotuneTrand = Trands.AutotuneTrand
            };
            var dataToSave = JsonUtility.ToJson(saveObject);

            PlayerPrefs.SetString(SAVE_KEY, dataToSave);
        }
Ejemplo n.º 28
0
 private void btnSave_Click(object sender, EventArgs e)
 {
     if (this.saveFileDialog1.ShowDialog() == DialogResult.OK)
     {
         DataToSave obj = new DataToSave();
         obj.nouns = nouns;
         obj.verbs = verbs;
         IFormatter formatter = new BinaryFormatter();
         Stream     file      = saveFileDialog1.OpenFile();
         formatter.Serialize(file, obj);
         file.Close();
     }
 }
Ejemplo n.º 29
0
    public void LoadPlayer()
    {
        DataToSave data = Save.LoadPlayerData();

        name  = data.playerName;
        level = data.level;
        maxHp = data.maxHp;
        curHp = data.curHp;
        x     = data.x;
        y     = data.y;
        z     = data.z;
        this.transform.position = new Vector3(x, y, z);
    }
Ejemplo n.º 30
0
    public static void Save(GlobalVariables globalVariables)
    {
        BinaryFormatter bf   = new BinaryFormatter();
        FileStream      file = new FileStream(Application.persistentDataPath + "/MorpfSaves.txt", FileMode.Create);

        DataToSave data = new DataToSave(globalVariables);

        //Debug.Log ("GV Volume = " + globalVariables.audioVolume);

        bf.Serialize(file, data);

        file.Close();
    }
Ejemplo n.º 31
0
    public void load()
    {
        if (File.Exists(Application.persistentDataPath + "/savedGames.gd")) {
            BinaryFormatter bf = new BinaryFormatter();
            FileStream file = File.Open(Application.persistentDataPath + "/savedGames.gd", FileMode.Open);
            myData = (DataToSave)bf.Deserialize(file);
            file.Close();
            int lastScene = myData.lastScene;
            if (scenesThatRequireNetworkConnection.Contains(lastScene)) {
                Debug.Log("need to connect to the network before this scene can be played");
            }
            //fix this shit eric
            Application.LoadLevel(2);

        }
    }
Ejemplo n.º 32
0
        public static DataToSave getObject(Document document)
        {
            DataToSave data = new DataToSave();

            //基本参数
            data.Layers = new ObservableCollection<BaseLayerBaseParams>();
            foreach (LayerBaseParams layerParam in document.layers)
            {
                data.Layers.Add(new BaseLayerBaseParams(layerParam));
            }

            //人工设计数据
            data.ManuDesignParams = new BaseManuDesignParams(document.manuDesignParams);

            //关键层参数
            data.KeyLayers = new ObservableCollection<BaseKeyLayerParams>();
            foreach (KeyLayerParams layerParam in document.keyLayers)
            {
                data.KeyLayers.Add(new BaseKeyLayerParams(layerParam));
            }

            data.KeyLayerData = new List<double>();
            //保存横三带竖三代数据
            data.KeyLayerData.Add(document.Mcqj);
            data.KeyLayerData.Add(document.FuYanXCL);
            data.KeyLayerData.Add(document.CaiGao);
            data.KeyLayerData.Add(document.SuiZhangXS);
            double maoLuoDai, lieXiDai, wanQuDai;
            double.TryParse(document.maoLuoDaiTb.Text, out maoLuoDai);
            double.TryParse(document.lieXiDaiTb.Text, out lieXiDai);
            double.TryParse(document.wanQuDaiTb.Text, out wanQuDai);
            data.KeyLayerData.Add(maoLuoDai);
            data.KeyLayerData.Add(lieXiDai);
            data.KeyLayerData.Add(wanQuDai);
            //保存关键层计算相关数据
            data.KeyLayerData.Add(document.Mchd);
            data.KeyLayerData.Add(document.Pjxsxz);
            data.KeyLayerData.Add(document.HcqZXcd);
            data.KeyLayerData.Add(document.HcqQXcd);
            data.KeyLayerData.Add(document.Gzmsd);
            data.KeyLayerData.Add(document.Jswzjl);

            //保存水泥环增益计算的数据
            data.ZengYis = new ObservableCollection<BaseZengYiParams>();
            foreach (ZengYiParams param in document.zengYis)
            {
                data.ZengYis.Add(new BaseZengYiParams(param));
            }

            return data;
        }
Ejemplo n.º 33
0
        private static void Save(StorageDevice storageDevice,int numChics, int chicQueue, CharacterClass player,
            int numRooster, int roosterQueue, ChickenClass[] chickens, RoosterClass[] roosters, EconomicsClass eco, 
            int eggCount, int numEgg, EggClass[] egg, int days, float dayTime, bool endOfDay, int numBoots,
            RubberBootClass[] boots,
            float bootTime, bool bootPresent, bool bootEquipped, FoxClass fox)
        {
            // Pass the information into the data objects
            DataToSave dataToSave = new DataToSave();

            //save character
            dataToSave.cPosition = player.position;
            dataToSave.cRotation = player.rotation;
            dataToSave.hitpoints = player.hitPoints;

            //save Chickens
            dataToSave.numChickens = numChics;
            dataToSave.ChicQueue = chicQueue;
            //save chicken1
            if (chickens[0].time != null)
            {
                dataToSave.chic1time = chickens[0].time;
                dataToSave.chic1state = chickens[0].state;
                dataToSave.chic1ground = chickens[0].ground;
                dataToSave.chic1InitNode = chickens[0].ChickenInitNode;
                dataToSave.chic1PreviousNode = chickens[0].ChickenPreviousNode;
                dataToSave.chic1CurrentNode = chickens[0].ChickenCurrentNode;
                dataToSave.chic1NextNode = (int)chickens[0].chickenNextNode;
                dataToSave.chic1Position = chickens[0].position;
                dataToSave.chic1Rotation = chickens[0].rotation;
                dataToSave.chic1RiseRun = chickens[0].riseRun;
                dataToSave.chic1EggLaid = chickens[0].eggLaid;
            }
            else
            {
                dataToSave.chic1time = -1;
            }
            //save chicken2
            if (chickens[1] != null)
            {
                dataToSave.chic2time = chickens[1].time;
                dataToSave.chic2state = chickens[1].state;
                dataToSave.chic2ground = chickens[1].ground;
                dataToSave.chic2InitNode = chickens[1].ChickenInitNode;
                dataToSave.chic2PreviousNode = chickens[1].ChickenPreviousNode;
                dataToSave.chic2CurrentNode = chickens[1].ChickenCurrentNode;
                dataToSave.chic2NextNode = (int)chickens[1].chickenNextNode;
                dataToSave.chic2Position = chickens[1].position;
                dataToSave.chic2Rotation = chickens[1].rotation;
                dataToSave.chic2RiseRun = chickens[1].riseRun;
                dataToSave.chic2EggLaid = chickens[1].eggLaid;
            }
            else
            {
                dataToSave.chic2time = -1;
            }
            //save chicken3
            if (chickens[2] != null)
            {
                dataToSave.chic3time = chickens[2].time;
                dataToSave.chic3state = chickens[2].state;
                dataToSave.chic3ground = chickens[2].ground;
                dataToSave.chic3InitNode = chickens[2].ChickenInitNode;
                dataToSave.chic3PreviousNode = chickens[2].ChickenPreviousNode;
                dataToSave.chic3CurrentNode = chickens[2].ChickenCurrentNode;
                dataToSave.chic3NextNode = (int)chickens[2].chickenNextNode;
                dataToSave.chic3Position = chickens[2].position;
                dataToSave.chic3Rotation = chickens[2].rotation;
                dataToSave.chic3RiseRun = chickens[2].riseRun;
                dataToSave.chic3EggLaid = chickens[2].eggLaid;
            }
            else
            {
                dataToSave.chic3time = -1;
            }
            //save chicken4
            if (chickens[3] != null)
            {
                dataToSave.chic4time = chickens[3].time;
                dataToSave.chic4state = chickens[3].state;
                dataToSave.chic4ground = chickens[3].ground;
                dataToSave.chic4InitNode = chickens[3].ChickenInitNode;
                dataToSave.chic4PreviousNode = chickens[3].ChickenPreviousNode;
                dataToSave.chic4CurrentNode = chickens[3].ChickenCurrentNode;
                dataToSave.chic4NextNode = (int)chickens[3].chickenNextNode;
                dataToSave.chic4Position = chickens[3].position;
                dataToSave.chic4Rotation = chickens[3].rotation;
                dataToSave.chic4RiseRun = chickens[3].riseRun;
                dataToSave.chic4EggLaid = chickens[3].eggLaid;
            }
            else
            {
                dataToSave.chic4time = -1;
            }
            //save chicken5
            if (chickens[4] != null)
            {
                dataToSave.chic5time = chickens[4].time;
                dataToSave.chic5state = chickens[4].state;
                dataToSave.chic5ground = chickens[4].ground;
                dataToSave.chic5InitNode = chickens[4].ChickenInitNode;
                dataToSave.chic5PreviousNode = chickens[4].ChickenPreviousNode;
                dataToSave.chic5CurrentNode = chickens[4].ChickenCurrentNode;
                dataToSave.chic5NextNode = (int)chickens[4].chickenNextNode;
                dataToSave.chic5Position = chickens[4].position;
                dataToSave.chic5Rotation = chickens[4].rotation;
                dataToSave.chic5RiseRun = chickens[4].riseRun;
                dataToSave.chic5EggLaid = chickens[4].eggLaid;
            }
            else
            {
                dataToSave.chic5time = -1;
            }
            //save chicken6
            if (chickens[5] != null)
            {
                dataToSave.chic6time = chickens[5].time;
                dataToSave.chic6state = chickens[5].state;
                dataToSave.chic6ground = chickens[5].ground;
                dataToSave.chic6InitNode = chickens[5].ChickenInitNode;
                dataToSave.chic6PreviousNode = chickens[5].ChickenPreviousNode;
                dataToSave.chic6CurrentNode = chickens[5].ChickenCurrentNode;
                dataToSave.chic6NextNode = (int)chickens[5].chickenNextNode;
                dataToSave.chic6Position = chickens[5].position;
                dataToSave.chic6Rotation = chickens[5].rotation;
                dataToSave.chic6RiseRun = chickens[5].riseRun;
                dataToSave.chic6EggLaid = chickens[5].eggLaid;
            }
            else
            {
                dataToSave.chic6time = -1;
            }
            //save chicken7
            if (chickens[6] != null)
            {
                dataToSave.chic7time = chickens[6].time;
                dataToSave.chic7state = chickens[6].state;
                dataToSave.chic7ground = chickens[6].ground;
                dataToSave.chic7InitNode = chickens[6].ChickenInitNode;
                dataToSave.chic7PreviousNode = chickens[6].ChickenPreviousNode;
                dataToSave.chic7CurrentNode = chickens[6].ChickenCurrentNode;
                dataToSave.chic7NextNode = (int)chickens[6].chickenNextNode;
                dataToSave.chic7Position = chickens[6].position;
                dataToSave.chic7Rotation = chickens[6].rotation;
                dataToSave.chic7RiseRun = chickens[6].riseRun;
                dataToSave.chic7EggLaid = chickens[6].eggLaid;
            }
            else
            {
                dataToSave.chic7time = -1;
            }
            //save chicken8
            if (chickens[7] != null)
            {
                dataToSave.chic8time = chickens[7].time;
                dataToSave.chic8state = chickens[7].state;
                dataToSave.chic8ground = chickens[7].ground;
                dataToSave.chic8InitNode = chickens[7].ChickenInitNode;
                dataToSave.chic8PreviousNode = chickens[7].ChickenPreviousNode;
                dataToSave.chic8CurrentNode = chickens[7].ChickenCurrentNode;
                dataToSave.chic8NextNode = (int)chickens[7].chickenNextNode;
                dataToSave.chic8Position = chickens[7].position;
                dataToSave.chic8Rotation = chickens[7].rotation;
                dataToSave.chic8RiseRun = chickens[7].riseRun;
                dataToSave.chic8EggLaid = chickens[7].eggLaid;
            }
            else
            {
                dataToSave.chic8time = -1;
            }
            //save chicken9
            if (chickens[8] != null)
            {
                dataToSave.chic9time = chickens[8].time;
                dataToSave.chic9state = chickens[8].state;
                dataToSave.chic9ground = chickens[8].ground;
                dataToSave.chic9InitNode = chickens[8].ChickenInitNode;
                dataToSave.chic9PreviousNode = chickens[8].ChickenPreviousNode;
                dataToSave.chic9CurrentNode = chickens[8].ChickenCurrentNode;
                dataToSave.chic9NextNode = (int)chickens[8].chickenNextNode;
                dataToSave.chic9Position = chickens[8].position;
                dataToSave.chic9Rotation = chickens[8].rotation;
                dataToSave.chic9RiseRun = chickens[8].riseRun;
                dataToSave.chic9EggLaid = chickens[8].eggLaid;
            }
            else
            {
                dataToSave.chic9time = -1;
            }
            //save chicken10
            if (chickens[9] != null)
            {
                dataToSave.chic10time = chickens[9].time;
                dataToSave.chic10state = chickens[9].state;
                dataToSave.chic10ground = chickens[9].ground;
                dataToSave.chic10InitNode = chickens[9].ChickenInitNode;
                dataToSave.chic10PreviousNode = chickens[9].ChickenPreviousNode;
                dataToSave.chic10CurrentNode = chickens[9].ChickenCurrentNode;
                dataToSave.chic10NextNode = (int)chickens[9].chickenNextNode;
                dataToSave.chic10Position = chickens[9].position;
                dataToSave.chic10Rotation = chickens[9].rotation;
                dataToSave.chic10RiseRun = chickens[9].riseRun;
                dataToSave.chic10EggLaid = chickens[9].eggLaid;
            }
            else
            {
                dataToSave.chic10time = -1;
            }

            //economics save
            dataToSave.money = eco.money;
            dataToSave.startEggs = eco.startEggs;
            dataToSave.startChickens = eco.startChickens;
            dataToSave.startRoosters = eco.startRoosters;
            dataToSave.startmoney = eco.startmoney;
            dataToSave.eggsCollected = eco.eggsCollected;
            dataToSave.chickenBought = eco.chickenBought;
            dataToSave.roosterBought = eco.roosterBought;
            dataToSave.eggsEaten = eco.eggsEaten;
            dataToSave.eggSold = eco.eggSold;
            dataToSave.chickenSold = eco.chickenSold;
            dataToSave.roosterSold = eco.roosterSold;
            dataToSave.chickenEaten = eco.chickenEaten;
            dataToSave.roosterEaten = eco.roosterEaten;
            dataToSave.moneyAquired = eco.moneyAquired;

            //rooster save
            dataToSave.numRooster = numRooster;
            dataToSave.roosterQueue = roosterQueue;

            //rooster1 save
            if (roosters[0] != null)
            {
                dataToSave.rooster1state = roosters[0].state;
                dataToSave.rooster1InitNode = roosters[0].roosterInitNode;
                dataToSave.rooster1PreviousNode = roosters[0].roosterPreviousNode;
                dataToSave.rooster1CurrentNode = roosters[0].roosterCurrentNode;
                dataToSave.rooster1NextNode = roosters[0].roosterNextNode;
                dataToSave.rooster1Position = roosters[0].position;
                dataToSave.rooster1Rotation = roosters[0].rotation;
                dataToSave.rooster1RiseRun = roosters[0].riseRun;
                dataToSave.rooster1RiseRun2 = roosters[0].riseRun2;
                dataToSave.rooster1Start = roosters[0].start;
            }
            else
            {
                dataToSave.rooster1state = -1;
            }

            //rooster2 save
            if (roosters[1] != null)
            {
                dataToSave.rooster2state = roosters[1].state;
                dataToSave.rooster2InitNode = roosters[1].roosterInitNode;
                dataToSave.rooster2PreviousNode = roosters[1].roosterPreviousNode;
                dataToSave.rooster2CurrentNode = roosters[1].roosterCurrentNode;
                dataToSave.rooster2NextNode = roosters[1].roosterNextNode;
                dataToSave.rooster2Position = roosters[1].position;
                dataToSave.rooster2Rotation = roosters[1].rotation;
                dataToSave.rooster2RiseRun = roosters[1].riseRun;
                dataToSave.rooster2RiseRun2 = roosters[1].riseRun2;
                dataToSave.rooster2Start = roosters[1].start;
            }
            else
            {
                dataToSave.rooster2state = -1;
            }

            //rooster3 save
            if (roosters[2] != null)
            {
                dataToSave.rooster3state = roosters[2].state;
                dataToSave.rooster3InitNode = roosters[2].roosterInitNode;
                dataToSave.rooster3PreviousNode = roosters[2].roosterPreviousNode;
                dataToSave.rooster3CurrentNode = roosters[2].roosterCurrentNode;
                dataToSave.rooster3NextNode = roosters[2].roosterNextNode;
                dataToSave.rooster3Position = roosters[2].position;
                dataToSave.rooster3Rotation = roosters[2].rotation;
                dataToSave.rooster3RiseRun = roosters[2].riseRun;
                dataToSave.rooster3RiseRun2 = roosters[2].riseRun2;
                dataToSave.rooster3Start = roosters[2].start;
            }
            else
            {
                dataToSave.rooster3state = -1;
            }

            //rooster4 save
            if (roosters[3] != null)
            {
                dataToSave.rooster4state = roosters[3].state;
                dataToSave.rooster4InitNode = roosters[3].roosterInitNode;
                dataToSave.rooster4PreviousNode = roosters[3].roosterPreviousNode;
                dataToSave.rooster4CurrentNode = roosters[3].roosterCurrentNode;
                dataToSave.rooster4NextNode = roosters[3].roosterNextNode;
                dataToSave.rooster4Position = roosters[3].position;
                dataToSave.rooster4Rotation = roosters[3].rotation;
                dataToSave.rooster4RiseRun = roosters[3].riseRun;
                dataToSave.rooster4RiseRun2 = roosters[3].riseRun2;
                dataToSave.rooster4Start = roosters[3].start;
            }
            else
            {
                dataToSave.rooster4state = -1;
            }

            //rooster5 save
            if (roosters[4] != null)
            {
                dataToSave.rooster5state = roosters[4].state;
                dataToSave.rooster5InitNode = roosters[4].roosterInitNode;
                dataToSave.rooster5PreviousNode = roosters[4].roosterPreviousNode;
                dataToSave.rooster5CurrentNode = roosters[4].roosterCurrentNode;
                dataToSave.rooster5NextNode = roosters[4].roosterNextNode;
                dataToSave.rooster5Position = roosters[4].position;
                dataToSave.rooster5Rotation = roosters[4].rotation;
                dataToSave.rooster5RiseRun = roosters[4].riseRun;
                dataToSave.rooster5RiseRun2 = roosters[4].riseRun2;
                dataToSave.rooster5Start = roosters[4].start;
            }
            else
            {
                dataToSave.rooster5state = -1;
            }

            //eggclass
            dataToSave.eggCount = eggCount;
            dataToSave.numEgg = numEgg;
            if (numEgg > 0)
            {
                dataToSave.egg1 = egg[0].position;
            }
            if (numEgg > 1)
            {
                dataToSave.egg2 = egg[1].position;
            }
            if (numEgg > 2)
            {
                dataToSave.egg3 = egg[2].position;
            }
            if (numEgg > 3)
            {
                dataToSave.egg4 = egg[3].position;
            }
            if (numEgg > 4)
            {
                dataToSave.egg5 = egg[4].position;
            }
            if (numEgg > 5)
            {
                dataToSave.egg6 = egg[5].position;
            }
            if (numEgg > 6)
            {
                dataToSave.egg7 = egg[6].position;
            }
            if (numEgg > 7)
            {
                dataToSave.egg8 = egg[7].position;
            }
            if (numEgg > 8)
            {
                dataToSave.egg9 = egg[8].position;
            }
            if (numEgg > 9)
            {
                dataToSave.egg10 = egg[9].position;
            }
            if (numEgg > 10)
            {
                dataToSave.egg11 = egg[10].position;
            }
            if (numEgg > 11)
            {
                dataToSave.egg12 = egg[11].position;
            }
            if (numEgg > 12)
            {
                dataToSave.egg13 = egg[12].position;
            }
            if (numEgg > 13)
            {
                dataToSave.egg14 = egg[13].position;
            }
            if (numEgg > 14)
            {
                dataToSave.egg15 = egg[14].position;
            }
            if (numEgg > 15)
            {
                dataToSave.egg16 = egg[15].position;
            }
            if (numEgg > 16)
            {
                dataToSave.egg17 = egg[16].position;
            }
            if (numEgg > 17)
            {
                dataToSave.egg18 = egg[17].position;
            }
            if (numEgg > 18)
            {
                dataToSave.egg19 = egg[18].position;
            }
            if (numEgg > 19)
            {
                dataToSave.egg20 = egg[19].position;
            }

            dataToSave.days = days;           //tracks number of total days
            dataToSave.dayTime = dayTime; //tracks number of seconds since day began
            dataToSave.endOfDay = endOfDay;

            //boots
            dataToSave.numBoots = numBoots;
            if (numBoots > 0)
            {
                dataToSave.boot1 = boots[0].position;
            }
            if (numBoots > 1)
            {
                dataToSave.boot2 = boots[1].position;
            }
            dataToSave.bootTime = bootTime;
            dataToSave.bootPresent = bootPresent;
            dataToSave.bootEquipped = bootEquipped;

            //fox
            dataToSave.foxWandering = fox.wandering;
            dataToSave.foxInitNode = fox.foxInitNode;
            dataToSave.foxPreviousNode = fox.foxPreviousNode;
            dataToSave.foxCurrentNode = fox.foxCurrentNode;
            dataToSave.foxNextNode = fox.foxNextNode;
            dataToSave.foxPosition = fox.position;
            dataToSave.foxPositionOld = fox.positionOld;
            dataToSave.foxRotation = fox.rotation;
            dataToSave.foxRiseRun = fox.riseRun;
            dataToSave.foxRiseRun2 = fox.riseRun2;
            dataToSave.foxChasing = fox.chasing;
            dataToSave.foxAvoiding = fox.avoiding;
            dataToSave.foxTimer = fox.timer;
            dataToSave.foxChaseTime = fox.chaseTime;
            dataToSave.foxTimer2 = fox.timer2;
            dataToSave.foxHome = fox.home;
            dataToSave.foxStart = fox.start;
            dataToSave.foxTemp1 = fox.temp1;

            StorageContainer myContainer = storageDevice.OpenContainer("Chicken_Game");
            // Here is the path to where you want to save your data
            string nameOfFile = Path.Combine(myContainer.Path, "ChickenGameSave.sav");
            // If the file doesn't exist, it will be created, if it does, it will be replaced
            FileStream fileStream = File.Open(nameOfFile, FileMode.Create);
            XmlSerializer serializer = new XmlSerializer(typeof(DataToSave));
            serializer.Serialize(fileStream, dataToSave);
            //close this file
            fileStream.Close();
            myContainer.Dispose();
        }