mirror of
https://github.com/ppy/osu.git
synced 2025-01-26 19:32:55 +08:00
Fix hit type not being provided and hit time offset not being considered
This commit is contained in:
parent
b9f28c8373
commit
52cf1e1859
@ -11,16 +11,21 @@ namespace osu.Game.Rulesets.Taiko.Objects.Drawables
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class DrawableFlyingHit : DrawableHit
|
public class DrawableFlyingHit : DrawableHit
|
||||||
{
|
{
|
||||||
|
public DrawableFlyingHit(DrawableDrumRollTick drumRollTick)
|
||||||
|
: base(new IgnoreHit
|
||||||
|
{
|
||||||
|
StartTime = drumRollTick.HitObject.StartTime + drumRollTick.Result.TimeOffset,
|
||||||
|
IsStrong = drumRollTick.HitObject.IsStrong,
|
||||||
|
Type = drumRollTick.JudgementType
|
||||||
|
})
|
||||||
|
{
|
||||||
|
HitObject.ApplyDefaults(new ControlPointInfo(), new BeatmapDifficulty());
|
||||||
|
}
|
||||||
|
|
||||||
protected override void LoadComplete()
|
protected override void LoadComplete()
|
||||||
{
|
{
|
||||||
base.LoadComplete();
|
base.LoadComplete();
|
||||||
ApplyResult(r => r.Type = r.Judgement.MaxResult);
|
ApplyResult(r => r.Type = r.Judgement.MaxResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
public DrawableFlyingHit(double time, bool isStrong = false)
|
|
||||||
: base(new IgnoreHit { StartTime = time, IsStrong = isStrong })
|
|
||||||
{
|
|
||||||
HitObject.ApplyDefaults(new ControlPointInfo(), new BeatmapDifficulty());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ namespace osu.Game.Rulesets.Taiko.UI
|
|||||||
for (var i = AliveInternalChildren.Count - 1; i >= 0; i--)
|
for (var i = AliveInternalChildren.Count - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
var flyingHit = (DrawableFlyingHit)AliveInternalChildren[i];
|
var flyingHit = (DrawableFlyingHit)AliveInternalChildren[i];
|
||||||
if (Time.Current < flyingHit.HitObject.StartTime)
|
if (Time.Current <= flyingHit.HitObject.StartTime)
|
||||||
Remove(flyingHit);
|
Remove(flyingHit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,6 @@ using osu.Game.Beatmaps.ControlPoints;
|
|||||||
using osu.Game.Graphics;
|
using osu.Game.Graphics;
|
||||||
using osu.Game.Rulesets.Objects.Drawables;
|
using osu.Game.Rulesets.Objects.Drawables;
|
||||||
using osu.Game.Rulesets.Judgements;
|
using osu.Game.Rulesets.Judgements;
|
||||||
using osu.Game.Rulesets.Objects;
|
|
||||||
using osu.Game.Rulesets.UI;
|
using osu.Game.Rulesets.UI;
|
||||||
using osu.Game.Rulesets.UI.Scrolling;
|
using osu.Game.Rulesets.UI.Scrolling;
|
||||||
using osu.Game.Rulesets.Taiko.Objects.Drawables;
|
using osu.Game.Rulesets.Taiko.Objects.Drawables;
|
||||||
@ -206,12 +205,8 @@ namespace osu.Game.Rulesets.Taiko.UI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addDrumRollHit(DrawableDrumRollTick drawableTick)
|
private void addDrumRollHit(DrawableDrumRollTick drawableTick) =>
|
||||||
{
|
drumRollHitContainer.Add(new DrawableFlyingHit(drawableTick));
|
||||||
bool isStrong = drawableTick.HitObject.IsStrong;
|
|
||||||
double time = drawableTick.HitObject.GetEndTime();
|
|
||||||
drumRollHitContainer.Add(new DrawableFlyingHit(time, isStrong));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void addExplosion(DrawableHitObject drawableObject, HitType type)
|
private void addExplosion(DrawableHitObject drawableObject, HitType type)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user