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]); } }
// 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; }
/// <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); } }
/// <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); } }