protected override void LoadComplete() { base.LoadComplete(); proxiedHitCircleOverlay = HitCircleOverlay.CreateProxy(); if (drawableHitObject != null) { drawableHitObject.HitObjectApplied += onHitObjectApplied; onHitObjectApplied(drawableHitObject); } }
private void updateStateTransforms(DrawableHitObject drawableHitObject, ArmedState state) { const double legacy_fade_duration = 240; using (BeginAbsoluteSequence(drawableObject.HitStateUpdateTime)) { switch (state) { case ArmedState.Hit: hitCircleSprite.FadeOut(legacy_fade_duration, Easing.Out); hitCircleSprite.ScaleTo(1.4f, legacy_fade_duration, Easing.Out); HitCircleOverlay.FadeOut(legacy_fade_duration, Easing.Out); HitCircleOverlay.ScaleTo(1.4f, legacy_fade_duration, Easing.Out); if (hasNumber) { var legacyVersion = skin.GetConfig <LegacySetting, decimal>(LegacySetting.Version)?.Value; if (legacyVersion >= 2.0m) { // legacy skins of version 2.0 and newer only apply very short fade out to the number piece. hitCircleText.FadeOut(legacy_fade_duration / 4, Easing.Out); } else { // old skins scale and fade it normally along other pieces. hitCircleText.FadeOut(legacy_fade_duration, Easing.Out); hitCircleText.ScaleTo(1.4f, legacy_fade_duration, Easing.Out); } } break; } } }