public void LoadRankInfo() { rankInfoList.Clear(); if (Directory.Exists(FileSystemPath + "/RankInfo") == false) { Directory.CreateDirectory(FileSystemPath + "/RankInfo"); } if (File.Exists(FileSystemPath + "/RankInfo/RankInfo.List") == false) { for (int i = 0; i < 5; ++i) { ListRankStruct rankInfo = new ListRankStruct(); rankInfo.rank = i + 1; rankInfo.score = 0; rankInfoList.Add(rankInfo); } Save_Root("RankList"); Save_Child("Count"); Save_Element("RankCount", rankInfoList.Count + ""); for (int i = 0; i < rankInfoList.Count; ++i) { Save_Child("RankInfo_" + i); Save_Element("rank", rankInfoList[i].rank + ""); Save_Element("score", rankInfoList[i].score + ""); } Save_File(FileSystemPath + "/RankInfo/RankInfo.List"); } else { Load_File(FileSystemPath + "/RankInfo/RankInfo.List"); Load_Nodes("RankList/Count"); int Count = int.Parse(Load_Data("RankCount")); for (int i = 0; i < Count; ++i) { ListRankStruct rankInfo = new ListRankStruct(); Load_Nodes("RankList/RankInfo_" + i); rankInfo.rank = int.Parse(Load_Data("rank")); rankInfo.score = int.Parse(Load_Data("score")); rankInfoList.Add(rankInfo); } } }
public void SaveRankInfo(ListRankStruct Info) { if (Directory.Exists(FileSystemPath + "/RankInfo") == false) { Directory.CreateDirectory(FileSystemPath + "/RankInfo"); } LoadRankInfo(); bool isEqual = false; for (int i = 0; i < rankInfoList.Count; ++i) { if (rankInfoList[i].score == Info.score) { isEqual = true; break; } } if (isEqual == false) { rankInfoList.Add(Info); rankInfoList.Sort(new RankSort()); if (rankInfoList.Count > 5) { rankInfoList.Remove(rankInfoList[rankInfoList.Count - 1]); } } Save_Root("RankList"); Save_Child("Count"); Save_Element("RankCount", rankInfoList.Count + ""); for (int i = 0; i < rankInfoList.Count; ++i) { Save_Child("RankInfo_" + i); rankInfoList[i].rank = i + 1; Save_Element("rank", rankInfoList[i].rank + ""); Save_Element("score", rankInfoList[i].score + ""); } Save_File(FileSystemPath + "/RankInfo/RankInfo.List"); }