Beispiel #1
0
        /// <summary>移除排行榜中的所有內容</summary>
        public void DeleteAll(string rankName)
        {
            RankDataSave saveData = Load(rankName);

            saveData.rankData.Clear();
            Save(saveData);
        }
Beispiel #2
0
 void Save(RankDataSave data)
 {
     for (int i = 0; i < tempRankDataSaveList.Count; i++)
     {
         if (tempRankDataSaveList[i].name == data.name)
         {
             tempRankDataSaveList[i] = new RankDataSave(data);
             PlayerPrefs.SetString("RankManagerSave_" + tempRankDataSaveList[i].name, JsonUtility.ToJson(tempRankDataSaveList[i]));
         }
     }
 }
Beispiel #3
0
        /// <summary>用名稱取得數值</summary>
        public float GetValueByName(string rankName, string name)
        {
            RankDataSave saveData = Load(rankName);

            for (int i = 0; i < saveData.rankData.Count; i++)
            {
                if (saveData.rankData[i].name == name)
                {
                    return(saveData.rankData[i].score);
                }
            }
            return(0f);
        }
Beispiel #4
0
        /// <summary>用名稱取得資料</summary>
        public string GetDataByName(string rankName, string name)
        {
            RankDataSave saveData = Load(rankName);

            for (int i = 0; i < saveData.rankData.Count; i++)
            {
                if (saveData.rankData[i].name == name)
                {
                    return(saveData.rankData[i].data);
                }
            }
            return("");
        }
Beispiel #5
0
        /// <summary>用名稱取得名次</summary>
        public int GetNumberByName(string rankName, string name)
        {
            RankDataSave saveData = Load(rankName);

            for (int i = 0; i < saveData.rankData.Count; i++)
            {
                if (saveData.rankData[i].name == name)
                {
                    return(i + 1);
                }
            }
            return(0);
        }
Beispiel #6
0
        /// <summary>用名次取得資料(1開始)</summary>
        public string GetDataByNumber(string rankName, int number)
        {
            RankDataSave saveData = Load(rankName);

            if (number == 0)
            {
                number = 1;
            }
            if (saveData.rankData.Count >= number)
            {
                return(saveData.rankData[number - 1].data);
            }
            return("");
        }
Beispiel #7
0
        /// <summary>依照名稱移除資料</summary>
        public void DeleteByName(string rankName, string name)
        {
            RankDataSave saveData = Load(rankName);

            for (int i = 0; i < saveData.rankData.Count; i++)
            {
                if (saveData.rankData[i].name == name)
                {
                    saveData.rankData.RemoveAt(i);
                }
            }

            Save(saveData);
        }
Beispiel #8
0
        /// <summary>用名次取得數值(1開始)</summary>
        public float GetValueByNumber(string rankName, int number)
        {
            RankDataSave saveData = Load(rankName);

            if (number == 0)
            {
                number = 1;
            }
            if (saveData.rankData.Count >= number)
            {
                return(saveData.rankData[number - 1].score);
            }
            return(0f);
        }
Beispiel #9
0
        /// <summary>依照名次移除資料</summary>
        public void DeleteByNumber(string rankName, int number)
        {
            RankDataSave saveData = Load(rankName);

            if (number == 0)
            {
                number = 1;
            }
            for (int i = 0; i < saveData.rankData.Count; i++)
            {
                if (i == (number - 1))
                {
                    saveData.rankData.RemoveAt(i);
                }
            }

            Save(saveData);
        }
Beispiel #10
0
        /// <summary>
        /// 添加紀錄
        /// </summary>
        /// <param name="name">名稱</param>
        /// <param name="score">排行值(大到小)</param>
        /// <param name="data">夾帶內容</param>
        /// <returns>true : 建立新紀錄 false : 更新舊紀錄</returns>
        public bool Update(string rankName, string name, float score, string data = "")
        {
            RankDataSave saveData = Load(rankName);

            for (int i = 0; i < saveData.rankData.Count; i++)
            {
                if (saveData.rankData[i].name == name)
                {
                    saveData.rankData[i] = new RankData(name, score, data);
                    saveData.rankData.Sort((x, y) => { return(-x.score.CompareTo(y.score)); });
                    Save(saveData);
                    return(false);
                }
            }

            saveData.rankData.Add(new RankData(name, score, data));
            saveData.rankData.Sort((x, y) => { return(-x.score.CompareTo(y.score)); });
            Save(saveData);
            return(true);
        }
Beispiel #11
0
        /// <summary>測試內容</summary>
        public void Test(string name, bool showData)
        {
            RankDataSave saveData = Load(name);

            string t = "排行榜 " + name + " 總共 " + saveData.rankData.Count + " 筆資料\n";

            for (int o = 0; o < saveData.rankData.Count; o++)
            {
                if (saveData.rankData[o].data != "" && showData)
                {
                    t += "" + (o + 1).ToString() + "   " + saveData.rankData[o].name + " : " + saveData.rankData[o].score + " : " + saveData.rankData[o].data + "\n";
                }
                else
                {
                    t += "" + (o + 1).ToString() + "   " + saveData.rankData[o].name + " : " + saveData.rankData[o].score + "\n";
                }
            }
            t += "---------END---------";
            Debug.Log(t);

            Save(saveData);
        }
Beispiel #12
0
        /// <summary>總共有幾筆資料</summary>
        public int GetCount(string rankName)
        {
            RankDataSave saveData = Load(rankName);

            return(saveData.rankData.Count);
        }
Beispiel #13
0
 public RankDataSave(RankDataSave data)
 {
     this.name     = data.name;
     this.rankData = new List <RankData>(data.rankData);
 }