From 1f433708865955282e465c0464f04a9376ca9232 Mon Sep 17 00:00:00 2001 From: smoogipooo Date: Tue, 14 Mar 2017 18:06:32 +0900 Subject: [PATCH] Fix failing unit test, move legacy hitobjects to Objects/Legacy/. --- .../Beatmaps/Formats/OsuLegacyDecoderTest.cs | 16 ++++++++-------- .../Objects/{Hit.cs => Legacy/LegacyHit.cs} | 7 +++++-- .../{Slider.cs => Legacy/LegacySlider.cs} | 9 ++++++--- .../{Spinner.cs => Legacy/LegacySpinner.cs} | 7 +++++-- osu.Game/Modes/Objects/LegacyHitObjectParser.cs | 7 ++++--- osu.Game/osu.Game.csproj | 6 +++--- 6 files changed, 31 insertions(+), 21 deletions(-) rename osu.Game/Modes/Objects/{Hit.cs => Legacy/LegacyHit.cs} (59%) rename osu.Game/Modes/Objects/{Slider.cs => Legacy/LegacySlider.cs} (66%) rename osu.Game/Modes/Objects/{Spinner.cs => Legacy/LegacySpinner.cs} (59%) diff --git a/osu.Game.Tests/Beatmaps/Formats/OsuLegacyDecoderTest.cs b/osu.Game.Tests/Beatmaps/Formats/OsuLegacyDecoderTest.cs index e0d17badcd..61638ef25e 100644 --- a/osu.Game.Tests/Beatmaps/Formats/OsuLegacyDecoderTest.cs +++ b/osu.Game.Tests/Beatmaps/Formats/OsuLegacyDecoderTest.cs @@ -8,9 +8,9 @@ using OpenTK.Graphics; using osu.Game.Beatmaps.Formats; using osu.Game.Beatmaps.Samples; using osu.Game.Modes; -using osu.Game.Modes.Osu; -using osu.Game.Modes.Osu.Objects; using osu.Game.Tests.Resources; +using osu.Game.Modes.Osu; +using osu.Game.Modes.Objects.Legacy; namespace osu.Game.Tests.Beatmaps.Formats { @@ -133,16 +133,16 @@ namespace osu.Game.Tests.Beatmaps.Formats using (var stream = Resource.OpenResource("Soleily - Renatus (Gamu) [Insane].osu")) { var beatmap = decoder.Decode(new StreamReader(stream)); - var slider = beatmap.HitObjects[0] as Slider; + var slider = beatmap.HitObjects[0] as LegacySlider; Assert.IsNotNull(slider); Assert.AreEqual(new Vector2(192, 168), slider.Position); Assert.AreEqual(956, slider.StartTime); Assert.AreEqual(SampleType.None, slider.Sample.Type); - var circle = beatmap.HitObjects[1] as HitCircle; - Assert.IsNotNull(circle); - Assert.AreEqual(new Vector2(304, 56), circle.Position); - Assert.AreEqual(1285, circle.StartTime); - Assert.AreEqual(SampleType.Clap, circle.Sample.Type); + var hit = beatmap.HitObjects[1] as LegacyHit; + Assert.IsNotNull(hit); + Assert.AreEqual(new Vector2(304, 56), hit.Position); + Assert.AreEqual(1285, hit.StartTime); + Assert.AreEqual(SampleType.Clap, hit.Sample.Type); } } } diff --git a/osu.Game/Modes/Objects/Hit.cs b/osu.Game/Modes/Objects/Legacy/LegacyHit.cs similarity index 59% rename from osu.Game/Modes/Objects/Hit.cs rename to osu.Game/Modes/Objects/Legacy/LegacyHit.cs index 1f0eaef666..1e3137892f 100644 --- a/osu.Game/Modes/Objects/Hit.cs +++ b/osu.Game/Modes/Objects/Legacy/LegacyHit.cs @@ -4,9 +4,12 @@ using osu.Game.Modes.Objects.Types; using OpenTK; -namespace osu.Game.Modes.Objects +namespace osu.Game.Modes.Objects.Legacy { - internal class Hit : HitObject, IHasPosition, IHasCombo + /// + /// Base Hit-type, used for parsing Beatmaps. + /// + public sealed class LegacyHit : HitObject, IHasPosition, IHasCombo { public Vector2 Position { get; set; } diff --git a/osu.Game/Modes/Objects/Slider.cs b/osu.Game/Modes/Objects/Legacy/LegacySlider.cs similarity index 66% rename from osu.Game/Modes/Objects/Slider.cs rename to osu.Game/Modes/Objects/Legacy/LegacySlider.cs index 755ec20c1a..6b9fded2d1 100644 --- a/osu.Game/Modes/Objects/Slider.cs +++ b/osu.Game/Modes/Objects/Legacy/LegacySlider.cs @@ -1,13 +1,16 @@ // Copyright (c) 2007-2017 ppy Pty Ltd . // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Game.Modes.Objects.Types; using System.Collections.Generic; +using osu.Game.Modes.Objects.Types; using OpenTK; -namespace osu.Game.Modes.Objects +namespace osu.Game.Modes.Objects.Legacy { - internal class Slider : HitObject, IHasCurve, IHasPosition, IHasDistance, IHasRepeats, IHasCombo + /// + /// Base Slider-type, used for parsing Beatmaps. + /// + public sealed class LegacySlider : HitObject, IHasCurve, IHasPosition, IHasDistance, IHasRepeats, IHasCombo { public List ControlPoints { get; set; } public CurveType CurveType { get; set; } diff --git a/osu.Game/Modes/Objects/Spinner.cs b/osu.Game/Modes/Objects/Legacy/LegacySpinner.cs similarity index 59% rename from osu.Game/Modes/Objects/Spinner.cs rename to osu.Game/Modes/Objects/Legacy/LegacySpinner.cs index f98abdbed9..7161fd2df6 100644 --- a/osu.Game/Modes/Objects/Spinner.cs +++ b/osu.Game/Modes/Objects/Legacy/LegacySpinner.cs @@ -3,9 +3,12 @@ using osu.Game.Modes.Objects.Types; -namespace osu.Game.Modes.Objects +namespace osu.Game.Modes.Objects.Legacy { - internal class Spinner : HitObject, IHasEndTime + /// + /// Base Spinner-type, used for parsing Beatmaps. + /// + internal class LegacySpinner : HitObject, IHasEndTime { public double EndTime { get; set; } diff --git a/osu.Game/Modes/Objects/LegacyHitObjectParser.cs b/osu.Game/Modes/Objects/LegacyHitObjectParser.cs index 394c2ba80c..5b40d0aed6 100644 --- a/osu.Game/Modes/Objects/LegacyHitObjectParser.cs +++ b/osu.Game/Modes/Objects/LegacyHitObjectParser.cs @@ -7,6 +7,7 @@ using osu.Game.Modes.Objects.Types; using System; using System.Collections.Generic; using System.Globalization; +using osu.Game.Modes.Objects.Legacy; namespace osu.Game.Modes.Objects { @@ -24,7 +25,7 @@ namespace osu.Game.Modes.Objects switch (type) { case HitObjectType.Circle: - result = new Hit + result = new LegacyHit { Position = new Vector2(int.Parse(split[0]), int.Parse(split[1])), NewCombo = combo @@ -74,7 +75,7 @@ namespace osu.Game.Modes.Objects if (split.Length > 7) length = Convert.ToDouble(split[7], CultureInfo.InvariantCulture); - result = new Slider + result = new LegacySlider { ControlPoints = points, Distance = length, @@ -85,7 +86,7 @@ namespace osu.Game.Modes.Objects }; break; case HitObjectType.Spinner: - result = new Spinner + result = new LegacySpinner { EndTime = Convert.ToDouble(split[5], CultureInfo.InvariantCulture) }; diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj index 137b95a2a7..92ac77091c 100644 --- a/osu.Game/osu.Game.csproj +++ b/osu.Game/osu.Game.csproj @@ -94,10 +94,10 @@ - + - - + +