예제 #1
0
 public Scores(List <ScoreSystem.Score> scoreObjs)
 {
     scores = new SerializableScore[scoreObjs.Count];
     for (int i = 0; i < scores.Length; i++)
     {
         scores[i] = new SerializableScore(scoreObjs[i]);
     }
 }
예제 #2
0
 // Use this for initialization
 void Start()
 {
     //Cria um novo SerializableScore
     score = new SerializableScore();
     //Pega o score da sessão atual
     score.Score = GameManager.Instance.score;
     //Atualiza o testo de score do painel de score
     txtScore.text = "Score: " + GameManager.Instance.score;
 }
예제 #3
0
    /// <summary>
    /// Salva um Score no arquivo rankings.sr
    /// </summary>
    /// <param name="serializableScore"></param>
    public static void AddRanking(SerializableScore serializableScore)
    {
        List <SerializableScore> scoreList;

        if (!File.Exists(GetRankingPath()))
        {
            //Cria uma nova lista de scores
            scoreList = new List <SerializableScore>();
            //Adiciona um score a lista de scores
            scoreList.Add(serializableScore);
        }
        else
        {
            //Pega os rankings do arquivo rankings.sr
            scoreList = GetRankings();

            //Verifica se a lista tem mais de 5 elementos
            if (scoreList.Count >= 5)
            {
                //Verifica se o score atual é maior que o elemento 5(para poder colocar ele no top 5)
                if (serializableScore.Score > scoreList[4].Score)
                {
                    //Adiciona o score atual a lista
                    scoreList.Add(serializableScore);
                    //Ordena a lista
                    scoreList = SortList(scoreList);
                    //Remove o elemento 6 da lista
                    scoreList.RemoveAt(5);
                }
            }
            //Caso não tenha mais de 5 elementos só adiciona sem precisar saber se o score é maior
            else
            {
                //Adiciona o score atual a lista
                scoreList.Add(serializableScore);
                //ordena a lista
                scoreList = SortList(scoreList);
            }
        }
        //Cria um arquivo, ou grava em cima de um existente
        using (FileStream fs = File.Create(GetRankingPath()))
        {
            BinaryFormatter bf = new BinaryFormatter();
            //Serializa a lista para dentro do arquivo
            bf.Serialize(fs, scoreList);
        }
    }
예제 #4
0
    /// <summary>
    /// Salva um Score no arquivo rankings.sr
    /// </summary>
    /// <param name="serializableScore"></param>
    public static void SaveRanking(SerializableScore serializableScore)
    {
        List <SerializableScore> scoreList;

        //Caso o arquivo não exista
        if (!File.Exists(GetRankingPath()))
        {
            //Cria uma nova lista de scores
            scoreList = new List <SerializableScore>();
            //Adiciona um score a lista de scores
            scoreList.Add(serializableScore);
        }
        else
        {
            //Caso o arquivo exista, pega os scores dentro dele
            scoreList = GetRankings();

            //Caso a lista estiver vazia ou não existir
            if (scoreList != null || scoreList.Count <= 0)
            {
                //Cria uma nova lista
                scoreList = new List <SerializableScore>();
                //Adiciona o score na lista
                scoreList.Add(serializableScore);
                //Ordena a lista por maior score
                scoreList.Sort((x, y) => y.Score.CompareTo(x.Score));
            }
            else
            {
                //Cria uma nova lista de scores
                scoreList = new List <SerializableScore>();
                //Adiciona um score a lista de scores
                scoreList.Add(serializableScore);
            }
        }

        //Cria um arquivo, ou grava em cima de um existente
        using (FileStream fs = File.Create(GetRankingPath()))
        {
            BinaryFormatter bf = new BinaryFormatter();
            //Serializa a lista para dentro do arquivo
            bf.Serialize(fs, scoreList);
        }
    }