From acfbf2e32e9c0615e080478a5a6b465095b2b042 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=AF=E5=8D=81=E5=85=AD=E5=A4=9C?= Date: Mon, 9 Jan 2017 21:05:01 +0800 Subject: [PATCH] Add prefix Online to BeatmapID and BeatmapSetID --- .../Tests/TestCasePlaySongSelect.cs | 10 +++++----- .../Beatmaps/Formats/OsuLegacyDecoderTest.cs | 8 +++++--- osu.Game.Tests/Beatmaps/IO/ImportBeatmapTest.cs | 6 +++--- osu.Game.Tests/Beatmaps/IO/OszArchiveReaderTest.cs | 5 +++-- osu.Game/Beatmaps/Formats/OsuLegacyDecoder.cs | 6 +++--- osu.Game/Database/BeatmapDatabase.cs | 8 ++++---- osu.Game/Database/BeatmapInfo.cs | 4 ++-- osu.Game/Database/BeatmapMetadata.cs | 2 +- osu.Game/Database/BeatmapSetInfo.cs | 2 +- 9 files changed, 27 insertions(+), 24 deletions(-) diff --git a/osu.Desktop.VisualTests/Tests/TestCasePlaySongSelect.cs b/osu.Desktop.VisualTests/Tests/TestCasePlaySongSelect.cs index a291f4f65f..adfa2556a0 100644 --- a/osu.Desktop.VisualTests/Tests/TestCasePlaySongSelect.cs +++ b/osu.Desktop.VisualTests/Tests/TestCasePlaySongSelect.cs @@ -49,12 +49,12 @@ namespace osu.Desktop.VisualTests.Tests { return new BeatmapSetInfo { - BeatmapSetID = 1234 + i, + OnlineBeatmapSetID = 1234 + i, Hash = "d8e8fca2dc0f896fd7cb4cb0031ba249", Path = string.Empty, Metadata = new BeatmapMetadata { - BeatmapSetID = 1234 + i, + OnlineBeatmapSetID = 1234 + i, Artist = "MONACA", Title = "Black Song", Author = "Some Guy", @@ -63,7 +63,7 @@ namespace osu.Desktop.VisualTests.Tests { new BeatmapInfo { - BeatmapID = 1234 + i, + OnlineBeatmapID = 1234 + i, Mode = PlayMode.Osu, Path = "normal.osu", Version = "Normal", @@ -74,7 +74,7 @@ namespace osu.Desktop.VisualTests.Tests }, new BeatmapInfo { - BeatmapID = 1235 + i, + OnlineBeatmapID = 1235 + i, Mode = PlayMode.Osu, Path = "hard.osu", Version = "Hard", @@ -85,7 +85,7 @@ namespace osu.Desktop.VisualTests.Tests }, new BeatmapInfo { - BeatmapID = 1236 + i, + OnlineBeatmapID = 1236 + i, Mode = PlayMode.Osu, Path = "insane.osu", Version = "Insane", diff --git a/osu.Game.Tests/Beatmaps/Formats/OsuLegacyDecoderTest.cs b/osu.Game.Tests/Beatmaps/Formats/OsuLegacyDecoderTest.cs index d52eace965..9a988d6eff 100644 --- a/osu.Game.Tests/Beatmaps/Formats/OsuLegacyDecoderTest.cs +++ b/osu.Game.Tests/Beatmaps/Formats/OsuLegacyDecoderTest.cs @@ -23,7 +23,8 @@ namespace osu.Game.Tests.Beatmaps.Formats OsuLegacyDecoder.Register(); Ruleset.Register(new OsuRuleset()); } - [Test] + + [Test] public void TestDecodeMetadata() { var decoder = new OsuLegacyDecoder(); @@ -31,7 +32,7 @@ namespace osu.Game.Tests.Beatmaps.Formats { var beatmap = decoder.Decode(new StreamReader(stream)); var meta = beatmap.BeatmapInfo.Metadata; - Assert.AreEqual(241526, meta.BeatmapSetID); + Assert.AreEqual(241526, meta.OnlineBeatmapSetID); Assert.AreEqual("Soleily", meta.Artist); Assert.AreEqual("Soleily", meta.ArtistUnicode); Assert.AreEqual("03. Renatus - Soleily 192kbps.mp3", meta.AudioFile); @@ -125,7 +126,8 @@ namespace osu.Game.Tests.Beatmaps.Formats } } - [Test] public void TestDecodeHitObjects() + [Test] + public void TestDecodeHitObjects() { var decoder = new OsuLegacyDecoder(); using (var stream = Resource.OpenResource("Soleily - Renatus (Gamu) [Insane].osu")) diff --git a/osu.Game.Tests/Beatmaps/IO/ImportBeatmapTest.cs b/osu.Game.Tests/Beatmaps/IO/ImportBeatmapTest.cs index 37d89b6497..165181a332 100644 --- a/osu.Game.Tests/Beatmaps/IO/ImportBeatmapTest.cs +++ b/osu.Game.Tests/Beatmaps/IO/ImportBeatmapTest.cs @@ -83,7 +83,7 @@ namespace osu.Game.Tests.Beatmaps.IO Action waitAction = () => { while ((resultSets = osu.Dependencies.Get() - .Query().Where(s => s.BeatmapSetID == 241526)).Count() != 1) + .Query().Where(s => s.OnlineBeatmapSetID == 241526)).Count() != 1) Thread.Sleep(1); }; @@ -100,7 +100,7 @@ namespace osu.Game.Tests.Beatmaps.IO waitAction = () => { while ((resultBeatmaps = osu.Dependencies.Get() - .Query().Where(s => s.BeatmapSetID == 241526 && s.BaseDifficultyID > 0)).Count() != 12) + .Query().Where(s => s.OnlineBeatmapSetID == 241526 && s.BaseDifficultyID > 0)).Count() != 12) Thread.Sleep(1); }; @@ -113,7 +113,7 @@ namespace osu.Game.Tests.Beatmaps.IO Assert.IsTrue(set.Beatmaps.Count == resultBeatmaps.Count()); foreach (BeatmapInfo b in resultBeatmaps) - Assert.IsTrue(set.Beatmaps.Any(c => c.BeatmapID == b.BeatmapID)); + Assert.IsTrue(set.Beatmaps.Any(c => c.OnlineBeatmapID == b.OnlineBeatmapID)); Assert.IsTrue(set.Beatmaps.Count > 0); diff --git a/osu.Game.Tests/Beatmaps/IO/OszArchiveReaderTest.cs b/osu.Game.Tests/Beatmaps/IO/OszArchiveReaderTest.cs index 1343ae7241..a09d0c2f86 100644 --- a/osu.Game.Tests/Beatmaps/IO/OszArchiveReaderTest.cs +++ b/osu.Game.Tests/Beatmaps/IO/OszArchiveReaderTest.cs @@ -52,7 +52,7 @@ namespace osu.Game.Tests.Beatmaps.IO { var reader = new OszArchiveReader(osz); var meta = reader.ReadMetadata(); - Assert.AreEqual(241526, meta.BeatmapSetID); + Assert.AreEqual(241526, meta.OnlineBeatmapSetID); Assert.AreEqual("Soleily", meta.Artist); Assert.AreEqual("Soleily", meta.ArtistUnicode); Assert.AreEqual("03. Renatus - Soleily 192kbps.mp3", meta.AudioFile); @@ -65,7 +65,8 @@ namespace osu.Game.Tests.Beatmaps.IO Assert.AreEqual("Renatus", meta.TitleUnicode); } } - [Test] + + [Test] public void TestReadFile() { using (var osz = Resource.OpenResource("Beatmaps.241526 Soleily - Renatus.osz")) diff --git a/osu.Game/Beatmaps/Formats/OsuLegacyDecoder.cs b/osu.Game/Beatmaps/Formats/OsuLegacyDecoder.cs index 1386471ba0..33a39ca3b5 100644 --- a/osu.Game/Beatmaps/Formats/OsuLegacyDecoder.cs +++ b/osu.Game/Beatmaps/Formats/OsuLegacyDecoder.cs @@ -136,11 +136,11 @@ namespace osu.Game.Beatmaps.Formats beatmap.BeatmapInfo.Metadata.Tags = val; break; case @"BeatmapID": - beatmap.BeatmapInfo.BeatmapID = int.Parse(val); + beatmap.BeatmapInfo.OnlineBeatmapID = int.Parse(val); break; case @"BeatmapSetID": - beatmap.BeatmapInfo.BeatmapSetID = int.Parse(val); - metadata.BeatmapSetID = int.Parse(val); + beatmap.BeatmapInfo.OnlineBeatmapSetID = int.Parse(val); + metadata.OnlineBeatmapSetID = int.Parse(val); break; } } diff --git a/osu.Game/Database/BeatmapDatabase.cs b/osu.Game/Database/BeatmapDatabase.cs index 1c30e7af4b..eda5f1b9a3 100644 --- a/osu.Game/Database/BeatmapDatabase.cs +++ b/osu.Game/Database/BeatmapDatabase.cs @@ -69,8 +69,8 @@ namespace osu.Game.Database using (var reader = ArchiveReader.GetReader(storage, path)) metadata = reader.ReadMetadata(); - if (metadata.BeatmapSetID != -1 && - connection.Table().Count(b => b.BeatmapSetID == metadata.BeatmapSetID) != 0) + if (metadata.OnlineBeatmapSetID.HasValue && + connection.Table().Count(b => b.OnlineBeatmapSetID == metadata.OnlineBeatmapSetID) != 0) return; // TODO: Update this beatmap instead if (File.Exists(path)) // Not always the case, i.e. for LegacyFilesystemReader @@ -87,7 +87,7 @@ namespace osu.Game.Database } var beatmapSet = new BeatmapSetInfo { - BeatmapSetID = metadata.BeatmapSetID, + OnlineBeatmapSetID = metadata.OnlineBeatmapSetID, Beatmaps = new List(), Path = path, Hash = hash, @@ -140,7 +140,7 @@ namespace osu.Game.Database public BeatmapSetInfo GetBeatmapSet(int id) { - return Query().FirstOrDefault(s => s.BeatmapSetID == id); + return Query().FirstOrDefault(s => s.OnlineBeatmapSetID == id); } public WorkingBeatmap GetWorkingBeatmap(BeatmapInfo beatmapInfo, WorkingBeatmap previous = null) diff --git a/osu.Game/Database/BeatmapInfo.cs b/osu.Game/Database/BeatmapInfo.cs index c8ca99f7d4..ef5f00b634 100644 --- a/osu.Game/Database/BeatmapInfo.cs +++ b/osu.Game/Database/BeatmapInfo.cs @@ -16,9 +16,9 @@ namespace osu.Game.Database [PrimaryKey, AutoIncrement] public int ID { get; set; } - public int BeatmapID { get; set; } = 0; + public int? OnlineBeatmapID { get; set; } = null; - public int BeatmapSetID { get; set; } = -1; + public int? OnlineBeatmapSetID { get; set; } = null; [ForeignKey(typeof(BeatmapSetInfo))] public int BeatmapSetInfoID { get; set; } diff --git a/osu.Game/Database/BeatmapMetadata.cs b/osu.Game/Database/BeatmapMetadata.cs index 4df4424450..e0d2f0c5f7 100644 --- a/osu.Game/Database/BeatmapMetadata.cs +++ b/osu.Game/Database/BeatmapMetadata.cs @@ -10,7 +10,7 @@ namespace osu.Game.Database [PrimaryKey, AutoIncrement] public int ID { get; set; } - public int BeatmapSetID { get; set; } = -1; + public int? OnlineBeatmapSetID { get; set; } = null; public string Title { get; set; } public string TitleUnicode { get; set; } diff --git a/osu.Game/Database/BeatmapSetInfo.cs b/osu.Game/Database/BeatmapSetInfo.cs index 44c0b1a3d2..60637f8736 100644 --- a/osu.Game/Database/BeatmapSetInfo.cs +++ b/osu.Game/Database/BeatmapSetInfo.cs @@ -13,7 +13,7 @@ namespace osu.Game.Database [PrimaryKey, AutoIncrement] public int ID { get; set; } - public int BeatmapSetID { get; set; } = -1; + public int? OnlineBeatmapSetID { get; set; } = null; [OneToOne(CascadeOperations = CascadeOperation.All)] public BeatmapMetadata Metadata { get; set; }