private void SaveNames(NamesByteSavefile tS, int level)
    {
        level++;
        var serializer = new XmlSerializer(typeof(NamesByteSavefile));

        using (var stream = new FileStream(Application.persistentDataPath + "/Level" + level.ToString() + "/SavedGame_SaveFiles.xml", FileMode.Create))
        {
            serializer.Serialize(stream, tS);
        }
    }
    private NamesByteSavefile LoadNames(int level)
    {
        level++;
        var serializer = new XmlSerializer(typeof(NamesByteSavefile));

        using (var stream = new FileStream(Application.persistentDataPath + "/Level" + level.ToString() + "/SavedGame_SaveFiles.xml", FileMode.Open))
        {
            NamesByteSavefile save = serializer.Deserialize(stream) as NamesByteSavefile;
            return(save);
        }
    }
    private void OnApplicationQuit()
    {
        NamesByteSavefile saveFile = new NamesByteSavefile();

        for (int i = 0; i < amountLevel; i++)
        {
            names[i].names    = allHighscore[i].names;
            saveFile.saveFile = ObjectToByteArray(names[i]);

            for (int o = 0; o < allHighscore[i].names.Count; o++)
            {
                SaveScore(allHighscore[i].scores[o], allHighscore[i].names[o], i, allHighscore[i].levelPlayed[o]);
            }
            SaveNames(saveFile, i);
            if (i < deaths.Count)
            {
                SaveDeaths(deaths[i], i);
            }
        }
    }
    private void Awake()
    {
        if (instance == null)
        {
            instance = this;
        }
        else if (instance != this)
        {
            Destroy(gameObject);
            return;
        }
        DontDestroyOnLoad(gameObject);
        for (int i = 0; i < amountLevel; i++)
        {
            CreateDirectory(i);
            if (Exists("SaveFiles", i))
            {
                NamesByteSavefile saveFile = LoadNames(i);
                names.Add((AllNames)ByteArrayToObject(saveFile.saveFile));
                if (i < allHighscore.Count)
                {
                    if (allHighscore[i] == null)
                    {
                        allHighscore[i] = new AllHighscore();
                    }
                }
                else
                {
                    allHighscore.Add(new AllHighscore());
                }

                if (names[i] == null)
                {
                    names[i] = new AllNames();
                }
                allHighscore[i].names = names[i].names;

                for (int o = 0; o < names[i].names.Count; o++)
                {
                    if (Exists(names[i].names[o], i))
                    {
                        if (o < allHighscore[i].scores.Count)
                        {
                            allHighscore[i].scores[o] = LoadScore(names[i].names[o], i);
                        }
                        else
                        {
                            allHighscore[i].scores.Add(LoadScore(names[i].names[o], i));
                        }

                        if (o < allHighscore[i].levelPlayed.Count)
                        {
                            Highscore temp = LoadScore(names[i].names[o], i);
                            allHighscore[i].levelPlayed[o] = temp.level;
                        }
                        else
                        {
                            Highscore temp = LoadScore(names[i].names[o], i);
                            allHighscore[i].levelPlayed.Add(temp.level);
                        }
                    }
                }
            }
            else
            {
                if (i < allHighscore.Count)
                {
                    if (allHighscore[i] == null)
                    {
                        allHighscore[i] = new AllHighscore();
                    }
                }
                else
                {
                    allHighscore.Add(new AllHighscore());
                }
                if (i < names.Count)
                {
                    names[i] = new AllNames();
                }
                else
                {
                    names.Add(new AllNames());
                }
            }

            if (File.Exists(Application.persistentDataPath + "/Deaths" + "/SavedDeaths_" + (i + 1).ToString() + ".xml"))
            {
                if (i < deaths.Count)
                {
                    deaths[i] = LoadDeaths(i);
                }
                else
                {
                    deaths.Add(LoadDeaths(i));
                }
            }
            else
            {
                if (i < deaths.Count)
                {
                    deaths[i] = new DeathSaveFile();
                }
                else
                {
                    deaths.Add(new DeathSaveFile());
                }
            }
        }
    }