From cf4d11c51c3d71abcdcd48798a3b19ad6437aada Mon Sep 17 00:00:00 2001 From: smoogipooo Date: Thu, 30 Mar 2017 15:51:16 +0900 Subject: [PATCH] Add explicit CentreHit/RimHit classes. --- .../Beatmaps/TaikoBeatmapConverter.cs | 15 ++++++++++++--- .../Objects/{HitType.cs => CentreHit.cs} | 7 +------ osu.Game.Modes.Taiko/Objects/Hit.cs | 5 ----- osu.Game.Modes.Taiko/Objects/RimHit.cs | 9 +++++++++ osu.Game.Modes.Taiko/TaikoAutoReplay.cs | 2 +- osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj | 3 ++- 6 files changed, 25 insertions(+), 16 deletions(-) rename osu.Game.Modes.Taiko/Objects/{HitType.cs => CentreHit.cs} (55%) create mode 100644 osu.Game.Modes.Taiko/Objects/RimHit.cs diff --git a/osu.Game.Modes.Taiko/Beatmaps/TaikoBeatmapConverter.cs b/osu.Game.Modes.Taiko/Beatmaps/TaikoBeatmapConverter.cs index aa095a1dda..cc361628a3 100644 --- a/osu.Game.Modes.Taiko/Beatmaps/TaikoBeatmapConverter.cs +++ b/osu.Game.Modes.Taiko/Beatmaps/TaikoBeatmapConverter.cs @@ -74,14 +74,23 @@ namespace osu.Game.Modes.Taiko.Beatmaps }; } - HitType type = (sample & ~(SampleType.Finish | SampleType.Normal)) == 0 ? HitType.Centre : HitType.Rim; + bool isCentre = (sample & ~(SampleType.Finish | SampleType.Normal)) == 0; - return new Hit + if (isCentre) + { + return new CentreHit + { + StartTime = original.StartTime, + Sample = original.Sample, + IsStrong = strong + }; + } + + return new RimHit { StartTime = original.StartTime, Sample = original.Sample, IsStrong = strong, - Type = type }; } } diff --git a/osu.Game.Modes.Taiko/Objects/HitType.cs b/osu.Game.Modes.Taiko/Objects/CentreHit.cs similarity index 55% rename from osu.Game.Modes.Taiko/Objects/HitType.cs rename to osu.Game.Modes.Taiko/Objects/CentreHit.cs index 6e8e147d75..258112f045 100644 --- a/osu.Game.Modes.Taiko/Objects/HitType.cs +++ b/osu.Game.Modes.Taiko/Objects/CentreHit.cs @@ -3,12 +3,7 @@ namespace osu.Game.Modes.Taiko.Objects { - /// - /// Describes whether a hit is a centre-hit or a rim-hit. - /// - public enum HitType + public class CentreHit : Hit { - Centre, - Rim } } diff --git a/osu.Game.Modes.Taiko/Objects/Hit.cs b/osu.Game.Modes.Taiko/Objects/Hit.cs index 0ba07028fd..ad8d07d901 100644 --- a/osu.Game.Modes.Taiko/Objects/Hit.cs +++ b/osu.Game.Modes.Taiko/Objects/Hit.cs @@ -8,11 +8,6 @@ namespace osu.Game.Modes.Taiko.Objects { public class Hit : TaikoHitObject { - /// - /// Whether this hit is a centre-hit or a rim-hit. - /// - public HitType Type; - /// /// The hit window that results in a "GREAT" hit. /// diff --git a/osu.Game.Modes.Taiko/Objects/RimHit.cs b/osu.Game.Modes.Taiko/Objects/RimHit.cs new file mode 100644 index 0000000000..aae93ec10d --- /dev/null +++ b/osu.Game.Modes.Taiko/Objects/RimHit.cs @@ -0,0 +1,9 @@ +// Copyright (c) 2007-2017 ppy Pty Ltd . +// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +namespace osu.Game.Modes.Taiko.Objects +{ + public class RimHit : Hit + { + } +} diff --git a/osu.Game.Modes.Taiko/TaikoAutoReplay.cs b/osu.Game.Modes.Taiko/TaikoAutoReplay.cs index 04f634be05..b30f26a9d3 100644 --- a/osu.Game.Modes.Taiko/TaikoAutoReplay.cs +++ b/osu.Game.Modes.Taiko/TaikoAutoReplay.cs @@ -84,7 +84,7 @@ namespace osu.Game.Modes.Taiko } else if (hit != null) { - if (hit.Type == HitType.Centre) + if (hit is CentreHit) { if (h.IsStrong) button = LegacyButtonState.Right1 | LegacyButtonState.Right2; diff --git a/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj b/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj index 9ff16989af..a892cedf22 100644 --- a/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj +++ b/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj @@ -53,6 +53,7 @@ + @@ -70,7 +71,7 @@ - +