/// <summary> /// 今回のプレイ情報をセーブする /// </summary> public void SaveGameData() { //前のプレイ段階の情報を取得する RankingData prevRanking = BinarySaveSystem.Load <RankingData>(kSaveFileName[PlayedMode]); //今回のプレイのスコアを追加する var list = prevRanking.playerDatas.ToList(); list.Add(new GameData(Score)); //上から既定の人数になるようにリストを作る //降順にソートし、 最後の要素を削除することで実現する list.Sort((a, b) => b.score - a.score); list.RemoveAt(list.Count - 1); //新しくなったランキングデータを保存する RankingData currentRanking = new RankingData(list.ToArray()); BinarySaveSystem.Save(currentRanking, kSaveFileName[PlayedMode]); }
/// <summary> /// modeに対応したセーブされているランキング情報を取得する /// </summary> /// <param name="mode"></param> /// <returns></returns> public RankingData GetSavedRankingData(PlayMode mode) { RankingData res = BinarySaveSystem.Load <RankingData>(kSaveFileName[mode]); return(res); }