コード例 #1
0
    private DeathSaveFile LoadDeaths(int level)
    {
        level++;
        var serializer = new XmlSerializer(typeof(DeathByte));

        using (var stream = new FileStream(Application.persistentDataPath + "/Deaths" + "/SavedDeaths_" + level.ToString() + ".xml", FileMode.Open))
        {
            DeathByte     save   = serializer.Deserialize(stream) as DeathByte;
            DeathSaveFile deaths = (DeathSaveFile)ByteArrayToObject(save.savefile);
            return(deaths);
        }
    }
コード例 #2
0
    private void SaveDeaths(DeathSaveFile tS, int level)
    {
        level++;
        DeathByte save = new DeathByte();

        save.savefile = ObjectToByteArray(tS);
        var serializer = new XmlSerializer(typeof(DeathByte));

        using (var stream = new FileStream(Application.persistentDataPath + "/Deaths" + "/SavedDeaths_" + level.ToString() + ".xml", FileMode.Create))
        {
            serializer.Serialize(stream, save);
        }
    }
コード例 #3
0
    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());
                }
            }
        }
    }