Пример #1
0
    public static void AddHighscoreToList(HighscoreData highscore)
    {
        BinaryFormatter formatter = new BinaryFormatter();
        FileStream      stream;
        HighscoresList  highscoresList;

        if (File.Exists(Path))
        {
            stream         = new FileStream(Path, FileMode.Open);
            highscoresList = formatter.Deserialize(stream) as HighscoresList;
            if (highscoresList == null)
            {
                Debug.LogError("Highscore System: Couldn't deserialize highscores list from save file.");
            }
            stream.Close();
        }
        else
        {
            highscoresList = new HighscoresList();
        }
        stream = new FileStream(Path, FileMode.Create);
        highscoresList.AddHighscore(highscore);
        formatter.Serialize(stream, highscoresList);
        stream.Close();
    }
    private void InitializeHighscoresTable()
    {
        noHighscoresTextGameObjects.SetActive(false);
        foreach (GameObject scoreLine in highscoresTextGameObjects)
        {
            scoreLine.SetActive(false);
        }
        highscoresList = HighscoreSystem.LoadHighscoresList();
        if (highscoresList == null || highscoresList.GetCount() == 0)
        {
            noHighscoresTextGameObjects.SetActive(true);
            return;
        }
        int highscoresCount = highscoresList.GetCount() <= highscoresTextGameObjects.Length
            ? highscoresList.GetCount()
            : highscoresTextGameObjects.Length;
        List <HighscoreData> highscores = highscoresList.GetHighscoreDataList();

        for (int i = 0; i < highscoresCount; i++)
        {
            Text highscoreText = highscoresTextGameObjects[i].GetComponent <Text>();
            highscoreText.text = "" + (i + 1).ToString() + ")\t\t\t" + highscores[i].score + "\t\t\t" +
                                 highscores[i].date;
            highscoresTextGameObjects[i].SetActive(true);
        }
    }
Пример #3
0
    public static void ResetHighscores()
    {
        if (!File.Exists(Path))
        {
            return;
        }
        BinaryFormatter formatter      = new BinaryFormatter();
        FileStream      stream         = new FileStream(Path, FileMode.Create);
        HighscoresList  highscoresList = new HighscoresList();

        formatter.Serialize(stream, highscoresList);
        stream.Close();
    }
Пример #4
0
    public static HighscoresList LoadHighscoresList()
    {
        if (!File.Exists(Path))
        {
            return(null);
        }
        BinaryFormatter formatter      = new BinaryFormatter();
        FileStream      stream         = new FileStream(Path, FileMode.Open);
        HighscoresList  highscoresList = formatter.Deserialize(stream) as HighscoresList;

        stream.Close();
        return(highscoresList);
    }
Пример #5
0
    // Use this for initialization
    void Start()
    {
        highscoreData = new HighscoresList();
        highscoreData.Load();
        List <Highscore> topTen;
        int count;

        if (onMainMenu)
        {
            count  = 3;
            topTen = highscoreData.GetTopThree();
        }
        else
        {
            count  = 10;
            topTen = highscoreData.GetTopTen();
        }

        for (int i = 0; i < count; ++i)
        {
            if (topTen.Count > i)
            {
                scoreList[i].text = topTen[i].Score.ToString();
                nameList[i].text  = topTen[i].PlayerName;
                if (!onMainMenu)
                {
                    timeList[i].text  = topTen[i].FormattedTimestamp;
                    levelList[i].text = topTen[i].LevelName;
                }
            }
            else
            {
                scoreList[i].text = string.Empty;
                nameList[i].text  = string.Empty;
                if (!onMainMenu)
                {
                    timeList[i].text  = string.Empty;
                    levelList[i].text = string.Empty;
                }
            }
        }
        // On main menuthere is no score and stuff, just the list of highscores.
        if (!onMainMenu)
        {
            var gc       = GameControl.Instance;
            var scoreNum = gc.GetScore();
            score.text = scoreNum.ToString();
        }
    }
    private void PrintHighscores()
    {
        HighscoresList hsl = HighscoreSystem.LoadHighscoresList();

        if (hsl == null)
        {
            print("hsl = null");
            return;
        }
        List <HighscoreData> highscores = hsl.GetHighscoreDataList();

        print("\t --- HIGHSCORES ---");
        for (int i = 0; i < highscores.Count; i++)
        {
            print("\t" + highscores[i].name + "\t --- \t" + highscores[i].score + "\t --- \t" + highscores[i].date);
        }
        print("\t ++++++++++++++++++");
    }
Пример #7
0
    public static bool IsNewHighscore(int score)
    {
        bool result = false;

        if (File.Exists(Path))
        {
            BinaryFormatter formatter      = new BinaryFormatter();
            FileStream      stream         = new FileStream(Path, FileMode.Open);
            HighscoresList  highscoresList = formatter.Deserialize(stream) as HighscoresList;
            stream.Close();
            result = highscoresList.IsHighscore(new HighscoreData("tempName", score, "tempDate"));
        }
        else
        {
            result = true;
        }
        return(result);
    }