Fix hitobjects with unknown lifetimes by enforcing non-null judgement

We've seen multiple cases where DrawableHitObject are stuck in the lifetime management container
due to not implementing a judgement (meaning they are never "hit" or "missed"). To avoid this going forward
CreateJudgement() must be implemented and return a non-null judgement.

This fixes BananaShower and JuiceStreams in osu!catch.

This also makes HitObject abstract and cleans up convert HitObject implementations.
This commit is contained in:
Dean Herbert
2020-02-23 13:01:30 +09:00
parent 66317f9fcd
commit ffc7eaa3f2
36 changed files with 72 additions and 105 deletions

View File

@ -194,7 +194,7 @@ namespace osu.Game.Tests.Visual.SongSelect
public new BufferedWedgeInfo Info => base.Info;
}
private class TestHitObject : HitObject, IHasPosition
private class TestHitObject : ConvertHitObject, IHasPosition
{
public float X { get; } = 0;
public float Y { get; } = 0;