public async Task <ChunithmClientLibrary.PlayerRecord.IPlayerRecordContainer> UpdatePlayerRecordAsync() { await LoadGlobalMusicDataTable(); DebugLogger.WriteLine("HighScoreRecord更新の開始"); ChunithmClientLibrary.PlayerRecord.IPlayerRecordContainer record = new ChunithmClientLibrary.PlayerRecord.PlayerRecordContainer(); var difficulties = new[] { Difficulty.Basic, Difficulty.Advanced, Difficulty.Expert, Difficulty.Master, }; foreach (var difficulty in difficulties) { DebugLogger.WriteLine($"{difficulty} の取得"); var musicGenre = chunithmNetConnector.GetMusicGenreAsync(Utility.GENRE_ALL_CODE, difficulty); await musicGenre; if (!musicGenre.Result.Success) { throw new Exception($"{difficulty}の取得に失敗しました"); } var highScoreRecordTable = new HighScoreRecordTable(); highScoreRecordTable.Add(musicGenre.Result.MusicGenre); record.SetTable(highScoreRecordTable, difficulty); } return(record); }
public override ChunithmClientLibrary.PlayerRecord.IPlayerRecordContainer Read(string source) { var playerRecord = new ChunithmClientLibrary.PlayerRecord.PlayerRecordContainer(); playerRecord.Basic = new HighScoreRecord.HighScoreRecordTable(); playerRecord.Advanced = new HighScoreRecord.HighScoreRecordTable(); playerRecord.Expert = new HighScoreRecord.HighScoreRecordTable(); playerRecord.Master = new HighScoreRecord.HighScoreRecordTable(); var row = source.Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries); for (var i = 1; i < row.Length; i++) { var highScoreRecords = ParseRow(row[i]); playerRecord.GetTable(Difficulty.Basic).Add(highScoreRecords[Difficulty.Basic]); playerRecord.GetTable(Difficulty.Advanced).Add(highScoreRecords[Difficulty.Advanced]); playerRecord.GetTable(Difficulty.Expert).Add(highScoreRecords[Difficulty.Expert]); playerRecord.GetTable(Difficulty.Master).Add(highScoreRecords[Difficulty.Master]); } return(playerRecord); }