public bool LoadGeneration(string filePath, bool Encript) { if (!System.IO.File.Exists(filePath)) { return(false); } SaveData.GeneticSaveData <T> save = null; if (Encript) { save = Utils.FileReadWrite.ReadEncryptedFromBinaryFile <SaveData.GeneticSaveData <T> >(filePath); } else { save = Utils.FileReadWrite.ReadFromBinaryFile <SaveData.GeneticSaveData <T> >(filePath); } Generation = save.Generation; for (int i = 0; i < save.PopulationGenes.Count; i++) { if (i >= Population.Count) { Population.Add(new DNA <T>(dnaSize, random, getRandomGene, fitnessFunction, false)); } Array.Copy(save.PopulationGenes[i], Population[i].Genes, dnaSize); } return(true); }
public void SaveGeneration(string filePath, bool Encript) { SaveData.GeneticSaveData <T> save = new SaveData.GeneticSaveData <T> { Generation = Generation, PopulationGenes = new List <T[]>(Population.Count), }; for (int i = 0; i < Population.Count; i++) { save.PopulationGenes.Add(new T[dnaSize]); Array.Copy(Population[i].Genes, save.PopulationGenes[i], dnaSize); } if (Encript) { Utils.FileReadWrite.WriteEncryptedToBinaryFile(filePath, save); } else { Utils.FileReadWrite.WriteToBinaryFile(filePath, save); } }