コード例 #1
0
        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();
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        // 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();
        }