public void AddScore(Data.ScoreData data) { Data.ScoreData min = null; if (Ranking?.ScoreList == null) { Ranking = new Data.RankingData(); Ranking.ScoreList = new List <Data.ScoreData>(); for (int i = 0; i < RankingNum; ++i) { Ranking.ScoreList.Add(new Data.ScoreData()); } } for (int i = 0; i < Ranking.ScoreList.Count; ++i) { if (min == null || min.Score > Ranking.ScoreList[i].Score) { min = Ranking.ScoreList[i]; } Ranking.ScoreList[i].IsNew = false; } if (data.Score >= min.Score) { data.IsNew = true; Ranking.ScoreList.Remove(min); Ranking.ScoreList.Add(data); Ranking.ScoreList.Sort((a, b) => b.Score - a.Score); } SaveScore(); }
public void LoadScore() { string json = PlayerPrefs.GetString(_RankingTag); Ranking = JsonUtility.FromJson <Data.RankingData>(json); //! 足りない分足す while (Ranking.ScoreList.Count < RankingNum) { var data = new Data.ScoreData(); Ranking.ScoreList.Add(data); } Ranking.ScoreList.Sort((a, b) => b.Score - a.Score); }
// Start is called before the first frame update void Start() { if (ScoreManager.Instance == null) { return; } Ranking = ScoreManager.Instance.Ranking; TextList = new List <Text>(); TextList.Add(Text01); TextList.Add(Text02); TextList.Add(Text03); TextList.Add(Text04); TextList.Add(Text05); ScoreManager.Instance.SaveScore(); }