mirror of
https://github.com/ppy/osu.git
synced 2025-02-15 18:52:55 +08:00
Fix more than one proxy is created
This commit is contained in:
parent
772f6df668
commit
27f5a99726
@ -96,10 +96,20 @@ namespace osu.Game.Rulesets.Osu.UI
|
|||||||
|
|
||||||
private void onDrawableHitObjectAdded(DrawableHitObject drawable)
|
private void onDrawableHitObjectAdded(DrawableHitObject drawable)
|
||||||
{
|
{
|
||||||
if (!drawable.IsLoaded)
|
|
||||||
drawable.OnLoadComplete += onDrawableHitObjectLoaded;
|
|
||||||
|
|
||||||
((DrawableOsuHitObject)drawable).CheckHittable = CheckHittable;
|
((DrawableOsuHitObject)drawable).CheckHittable = CheckHittable;
|
||||||
|
|
||||||
|
switch (drawable)
|
||||||
|
{
|
||||||
|
case DrawableSpinner _:
|
||||||
|
if (!drawable.HasProxy)
|
||||||
|
spinnerProxies.Add(drawable.CreateProxy());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case IDrawableHitObjectWithProxiedApproach approach:
|
||||||
|
if (!approach.ProxiedLayer.HasProxy)
|
||||||
|
approachCircles.Add(approach.ProxiedLayer.CreateProxy());
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[BackgroundDependencyLoader(true)]
|
[BackgroundDependencyLoader(true)]
|
||||||
@ -134,27 +144,6 @@ namespace osu.Game.Rulesets.Osu.UI
|
|||||||
followPoints.RemoveFollowPoints((OsuHitObject)hitObject);
|
followPoints.RemoveFollowPoints((OsuHitObject)hitObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onDrawableHitObjectLoaded(Drawable drawable)
|
|
||||||
{
|
|
||||||
switch (drawable)
|
|
||||||
{
|
|
||||||
case DrawableSliderHead _:
|
|
||||||
case DrawableSliderTail _:
|
|
||||||
case DrawableSliderTick _:
|
|
||||||
case DrawableSliderRepeat _:
|
|
||||||
case DrawableSpinnerTick _:
|
|
||||||
break;
|
|
||||||
|
|
||||||
case DrawableSpinner _:
|
|
||||||
spinnerProxies.Add(drawable.CreateProxy());
|
|
||||||
break;
|
|
||||||
|
|
||||||
case IDrawableHitObjectWithProxiedApproach approach:
|
|
||||||
approachCircles.Add(approach.ProxiedLayer.CreateProxy());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void onNewResult(DrawableHitObject judgedObject, JudgementResult result)
|
private void onNewResult(DrawableHitObject judgedObject, JudgementResult result)
|
||||||
{
|
{
|
||||||
// Hitobjects that block future hits should miss previous hitobjects if they're hit out-of-order.
|
// Hitobjects that block future hits should miss previous hitobjects if they're hit out-of-order.
|
||||||
|
Loading…
Reference in New Issue
Block a user