1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-06 04:53:12 +08:00

Handle proxied approach layer better and add slider's approach circle (previously missing).

This commit is contained in:
Dean Herbert 2017-02-14 10:22:28 +09:00
parent 9a5ac64332
commit fc192906ea
5 changed files with 26 additions and 5 deletions

View File

@ -11,7 +11,7 @@ using OpenTK;
namespace osu.Game.Modes.Osu.Objects.Drawables namespace osu.Game.Modes.Osu.Objects.Drawables
{ {
public class DrawableHitCircle : DrawableOsuHitObject public class DrawableHitCircle : DrawableOsuHitObject, IDrawableHitObjectWithProxiedApproach
{ {
private HitCircle osuObject; private HitCircle osuObject;
@ -156,5 +156,7 @@ namespace osu.Game.Modes.Osu.Objects.Drawables
break; break;
} }
} }
public Drawable ProxiedLayer => ApproachCircle;
} }
} }

View File

@ -6,11 +6,10 @@ using osu.Framework.Graphics;
using osu.Game.Modes.Objects.Drawables; using osu.Game.Modes.Objects.Drawables;
using osu.Game.Modes.Osu.Objects.Drawables.Pieces; using osu.Game.Modes.Osu.Objects.Drawables.Pieces;
using OpenTK; using OpenTK;
using osu.Framework.Input;
namespace osu.Game.Modes.Osu.Objects.Drawables namespace osu.Game.Modes.Osu.Objects.Drawables
{ {
class DrawableSlider : DrawableOsuHitObject public class DrawableSlider : DrawableOsuHitObject, IDrawableHitObjectWithProxiedApproach
{ {
private Slider slider; private Slider slider;
@ -133,6 +132,8 @@ namespace osu.Game.Modes.Osu.Objects.Drawables
FadeOut(800); FadeOut(800);
} }
public Drawable ProxiedLayer => initialCircle.ApproachCircle;
} }
internal interface ISliderProgress internal interface ISliderProgress

View File

@ -60,10 +60,10 @@ namespace osu.Game.Modes.Osu.UI
public override void Add(DrawableHitObject h) public override void Add(DrawableHitObject h)
{ {
h.Depth = (float)h.HitObject.StartTime; h.Depth = (float)h.HitObject.StartTime;
DrawableHitCircle c = h as DrawableHitCircle; IDrawableHitObjectWithProxiedApproach c = h as IDrawableHitObjectWithProxiedApproach;
if (c != null) if (c != null)
{ {
approachCircles.Add(c.ApproachCircle.CreateProxy()); approachCircles.Add(c.ProxiedLayer.CreateProxy());
} }
h.OnJudgement += judgement; h.OnJudgement += judgement;

View File

@ -0,0 +1,17 @@
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using osu.Framework.Graphics;
namespace osu.Game.Modes.Objects.Drawables
{
public interface IDrawableHitObjectWithProxiedApproach
{
Drawable ProxiedLayer { get; }
}
}

View File

@ -75,6 +75,7 @@
<Compile Include="Graphics\UserInterface\OsuSliderBar.cs" /> <Compile Include="Graphics\UserInterface\OsuSliderBar.cs" />
<Compile Include="Graphics\UserInterface\OsuTextBox.cs" /> <Compile Include="Graphics\UserInterface\OsuTextBox.cs" />
<Compile Include="Graphics\UserInterface\TwoLayerButton.cs" /> <Compile Include="Graphics\UserInterface\TwoLayerButton.cs" />
<Compile Include="Modes\Objects\Drawables\IDrawableHitObjectWithProxiedApproach.cs" />
<Compile Include="Modes\Objects\HitObjectParser.cs" /> <Compile Include="Modes\Objects\HitObjectParser.cs" />
<Compile Include="Modes\Score.cs" /> <Compile Include="Modes\Score.cs" />
<Compile Include="Modes\ScoreProcesssor.cs" /> <Compile Include="Modes\ScoreProcesssor.cs" />