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 @@
-
+