diff --git a/osu.Game.Rulesets.Osu/Skinning/Default/DefaultSpinner.cs b/osu.Game.Rulesets.Osu/Skinning/Default/DefaultSpinner.cs
index ae8c03dad1..df33bf52be 100644
--- a/osu.Game.Rulesets.Osu/Skinning/Default/DefaultSpinner.cs
+++ b/osu.Game.Rulesets.Osu/Skinning/Default/DefaultSpinner.cs
@@ -128,5 +128,13 @@ namespace osu.Game.Rulesets.Osu.Skinning.Default
spmContainer.FadeIn(drawableSpinner.HitObject.TimeFadeIn);
}
}
+
+ protected override void Dispose(bool isDisposing)
+ {
+ base.Dispose(isDisposing);
+
+ if (drawableSpinner != null)
+ drawableSpinner.ApplyCustomUpdateState -= updateStateTransforms;
+ }
}
}
diff --git a/osu.Game.Rulesets.Osu/Skinning/Default/MainCirclePiece.cs b/osu.Game.Rulesets.Osu/Skinning/Default/MainCirclePiece.cs
index b52dc749f0..fece3494e6 100644
--- a/osu.Game.Rulesets.Osu/Skinning/Default/MainCirclePiece.cs
+++ b/osu.Game.Rulesets.Osu/Skinning/Default/MainCirclePiece.cs
@@ -15,6 +15,8 @@ namespace osu.Game.Rulesets.Osu.Skinning.Default
{
public class MainCirclePiece : CompositeDrawable
{
+ public override bool RemoveCompletedTransforms => false;
+
private readonly CirclePiece circle;
private readonly RingPiece ring;
private readonly FlashPiece flash;
diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs
index 822dad8523..e5200ac248 100644
--- a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs
+++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs
@@ -20,6 +20,8 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy
{
public class LegacyMainCirclePiece : CompositeDrawable
{
+ public override bool RemoveCompletedTransforms => false;
+
private readonly string priorityLookup;
private readonly bool hasNumber;
diff --git a/osu.Game/Graphics/Backgrounds/Triangles.cs b/osu.Game/Graphics/Backgrounds/Triangles.cs
index 67cee883c8..269360c492 100644
--- a/osu.Game/Graphics/Backgrounds/Triangles.cs
+++ b/osu.Game/Graphics/Backgrounds/Triangles.cs
@@ -57,12 +57,6 @@ namespace osu.Game.Graphics.Backgrounds
}
}
- ///
- /// Whether we want to expire triangles as they exit our draw area completely.
- ///
- [Obsolete("Unused.")] // Can be removed 20210518
- protected virtual bool ExpireOffScreenTriangles => true;
-
///
/// Whether we should create new triangles as others expire.
///
diff --git a/osu.Game/Rulesets/Judgements/DrawableJudgement.cs b/osu.Game/Rulesets/Judgements/DrawableJudgement.cs
index feeafb7151..8a57b4af91 100644
--- a/osu.Game/Rulesets/Judgements/DrawableJudgement.cs
+++ b/osu.Game/Rulesets/Judgements/DrawableJudgement.cs
@@ -1,7 +1,6 @@
// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
-using System;
using System.Diagnostics;
using JetBrains.Annotations;
using osu.Framework.Allocation;
@@ -32,18 +31,6 @@ namespace osu.Game.Rulesets.Judgements
private readonly Container aboveHitObjectsContent;
- ///
- /// Duration of initial fade in.
- ///
- [Obsolete("Apply any animations manually via ApplyHitAnimations / ApplyMissAnimations. Defaults were moved inside skinned components.")]
- protected virtual double FadeInDuration => 100;
-
- ///
- /// Duration to wait until fade out begins. Defaults to .
- ///
- [Obsolete("Apply any animations manually via ApplyHitAnimations / ApplyMissAnimations. Defaults were moved inside skinned components.")]
- protected virtual double FadeOutDelay => FadeInDuration;
-
///
/// Creates a drawable which visualises a .
///
diff --git a/osu.Game/Rulesets/Judgements/Judgement.cs b/osu.Game/Rulesets/Judgements/Judgement.cs
index be69db5ca8..fd576e9b9f 100644
--- a/osu.Game/Rulesets/Judgements/Judgement.cs
+++ b/osu.Game/Rulesets/Judgements/Judgement.cs
@@ -1,7 +1,6 @@
// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
-using System;
using osu.Game.Rulesets.Objects;
using osu.Game.Rulesets.Scoring;
@@ -69,14 +68,6 @@ namespace osu.Game.Rulesets.Judgements
///
public double MaxHealthIncrease => HealthIncreaseFor(MaxResult);
- ///
- /// Retrieves the numeric score representation of a .
- ///
- /// The to find the numeric score representation for.
- /// The numeric score representation of .
- [Obsolete("Has no effect. Use ToNumericResult(HitResult) (standardised across all rulesets).")] // Can be made non-virtual 20210328
- protected virtual int NumericResultFor(HitResult result) => ToNumericResult(result);
-
///
/// Retrieves the numeric score representation of a .
///
diff --git a/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs b/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs
index 6c688c1625..5fd2b2493e 100644
--- a/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs
+++ b/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs
@@ -192,7 +192,7 @@ namespace osu.Game.Rulesets.Objects.Drawables
///
/// Applies a hit object to be represented by this .
///
- [Obsolete("Use either overload of Apply that takes a single argument of type HitObject or HitObjectLifetimeEntry")]
+ [Obsolete("Use either overload of Apply that takes a single argument of type HitObject or HitObjectLifetimeEntry")] // Can be removed 20211021.
public void Apply([NotNull] HitObject hitObject, [CanBeNull] HitObjectLifetimeEntry lifetimeEntry)
{
if (lifetimeEntry != null)
@@ -409,11 +409,6 @@ namespace osu.Game.Rulesets.Objects.Drawables
using (BeginAbsoluteSequence(StateUpdateTime, true))
UpdateStartTimeStateTransforms();
-#pragma warning disable 618
- using (BeginAbsoluteSequence(StateUpdateTime + (Result?.TimeOffset ?? 0), true))
- UpdateStateTransforms(newState);
-#pragma warning restore 618
-
using (BeginAbsoluteSequence(HitStateUpdateTime, true))
UpdateHitStateTransforms(newState);
@@ -447,7 +442,7 @@ namespace osu.Game.Rulesets.Objects.Drawables
/// By default, this will fade in the object from zero with no duration.
///
///
- /// This is called once before every . This is to ensure a good state in the case
+ /// This is called once before every . This is to ensure a good state in the case
/// the was negative and potentially altered the pre-hit transforms.
///
protected virtual void UpdateInitialTransforms()
@@ -455,16 +450,6 @@ namespace osu.Game.Rulesets.Objects.Drawables
this.FadeInFromZero();
}
- ///
- /// Apply transforms based on the current . Previous states are automatically cleared.
- /// In the case of a non-idle , and if was not set during this call, will be invoked.
- ///
- /// The new armed state.
- [Obsolete("Use UpdateStartTimeStateTransforms and UpdateHitStateTransforms instead")] // Can be removed 20210504
- protected virtual void UpdateStateTransforms(ArmedState state)
- {
- }
-
///
/// Apply passive transforms at the 's StartTime.
/// This is called each time changes.
@@ -520,23 +505,6 @@ namespace osu.Game.Rulesets.Objects.Drawables
AccentColour.Value = combo.GetComboColour(comboColours);
}
- ///
- /// Called to retrieve the combo colour. Automatically assigned to .
- /// Defaults to using to decide on a colour.
- ///
- ///
- /// This will only be called if the implements .
- ///
- /// A list of combo colours provided by the beatmap or skin. Can be null if not available.
- [Obsolete("Unused. Implement IHasComboInformation and IHasComboInformation.GetComboColour() on the HitObject model instead.")] // Can be removed 20210527
- protected virtual Color4 GetComboColour(IReadOnlyList comboColours)
- {
- if (!(HitObject is IHasComboInformation combo))
- throw new InvalidOperationException($"{nameof(HitObject)} must implement {nameof(IHasComboInformation)}");
-
- return comboColours?.Count > 0 ? comboColours[combo.ComboIndex % comboColours.Count] : Color4.White;
- }
-
///
/// Called when a change is made to the skin.
///
@@ -630,7 +598,7 @@ namespace osu.Game.Rulesets.Objects.Drawables
///
/// The time at which state transforms should be applied that line up to 's StartTime.
- /// This is used to offset calls to .
+ /// This is used to offset calls to .
///
public double StateUpdateTime => HitObject.StartTime;