Boa tarde, meu ranking como o titulo fala não se atualiza com novas infomações ele, até pensei se segui-se com a aula esse problema seria resolvido, o que esta acontecendo?
Ranking
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using UnityEngine;
using System.IO;
public class Ranking : MonoBehaviour
{
private static string NOME_DO_ARQUIVO = "Ranking.json";
[SerializeField]
private List<int> pontos;
private string caminhoParaOArquivo;
private void Awake()
{
caminhoParaOArquivo = Path.Combine(Application.persistentDataPath ,
NOME_DO_ARQUIVO);
var textoJson = File.ReadAllText(caminhoParaOArquivo);
JsonUtility.FromJsonOverwrite(textoJson, this);
}
public void AdicionarPontuacao(int pontos)
{
this.pontos.Add(pontos);
SalvarRanking();
}
public int Quantidade()
{
return this.pontos.Count;
}
public ReadOnlyCollection<int> GetPontos()
{
return this.pontos.AsReadOnly();
}
private void SalvarRanking()
{
var textoJson = JsonUtility.ToJson(this);
File.WriteAllText(caminhoParaOArquivo, textoJson);
}
}
ItemRanking
public class ItemRanking : MonoBehaviour
{
[SerializeField]
private Text textoColocacao;
[SerializeField]
private Text textoNome;
[SerializeField]
private Text textoPontuacao;
public void Configurar(int colocacao, string nome, int pontuacao)
{
this.textoColocacao.text = colocacao.ToString();
this.textoNome.text = nome;
this.textoPontuacao.text = pontuacao.ToString();
}
}
PainelRanking
public class PainelRanking : MonoBehaviour
{
[SerializeField]
private Ranking ranking;
[SerializeField]
private GameObject prefabColocado;
private void Start()
{
var listaDePontos = this.ranking.GetPontos();
for(var i=0; i<listaDePontos.Count; i++)
{
if(i >= 5)
{
break;
}
var colocado = GameObject.Instantiate(this.prefabColocado, transform);
colocado.GetComponent<ItemRanking>().Configurar(i,"Vitor", listaDePontos[i]);
}
}
}