Remove generics from IApplicableToBeatmap

This commit is contained in:
smoogipoo
2019-08-01 12:35:17 +09:00
parent 3a2e0fbba5
commit 8a64ab0384
11 changed files with 28 additions and 45 deletions

View File

@ -13,27 +13,21 @@ using osuTK;
namespace osu.Game.Rulesets.Mods
{
public abstract class ModTimeRamp : Mod
public abstract class ModTimeRamp : Mod, IUpdatableByPlayfield, IApplicableToClock, IApplicableToBeatmap
{
public override Type[] IncompatibleMods => new[] { typeof(ModTimeAdjust) };
protected abstract double FinalRateAdjustment { get; }
}
public abstract class ModTimeRamp<T> : ModTimeRamp, IUpdatableByPlayfield, IApplicableToClock, IApplicableToBeatmap<T>
where T : HitObject
{
private double finalRateTime;
private double beginRampTime;
private IAdjustableClock clock;
/// <summary>
/// The point in the beatmap at which the final ramping rate should be reached.
/// </summary>
private const double final_rate_progress = 0.75f;
public override Type[] IncompatibleMods => new[] { typeof(ModTimeAdjust) };
protected abstract double FinalRateAdjustment { get; }
private double finalRateTime;
private double beginRampTime;
private IAdjustableClock clock;
public virtual void ApplyToClock(IAdjustableClock clock)
{
this.clock = clock;
@ -44,7 +38,7 @@ namespace osu.Game.Rulesets.Mods
applyAdjustment(1);
}
public virtual void ApplyToBeatmap(Beatmap<T> beatmap)
public virtual void ApplyToBeatmap(IBeatmap beatmap)
{
HitObject lastObject = beatmap.HitObjects.LastOrDefault();