osu/osu.Game.Rulesets.Catch/UI
Bartłomiej Dach fcb6f40666
Prioritise hyperfruit over non-hyperfruit if simultaneous
In case of simultaneous hyperfruit and non-hyperfruit - which happen to
occur on some aspire maps - the desired behaviour is to hyperdash. This
did not previously occur, due to annoying details in how
`HitObjectContainer` is structured.

`HitObjectContainer`'s drawable comparer determines the order of
updating the objects. One could say that forcing the hyperfruit to be
updated last, after normal fruit, could help; unfortunately this is
complicated by the existence of juice streams and the fact that while a
juice stream can be terminated by a normal fruit that is coincidental
with a hyperfruit, the two are not comparable directly using the
comparer in any feasible way.

Therefore, apply a `Catcher`-level workaround that intends to handle
this locally; in short, if a hyperdash was toggled in a given frame, it
cannot be toggled off again in the same frame. This yields the desired
behaviour.
2023-12-04 09:30:18 +01:00
..
CatchComboDisplay.cs Move judgement result revert logic to Playfield 2023-01-19 19:57:13 +09:00
CatchCursorContainer.cs hide cursor in catch 2022-12-12 21:18:01 -05:00
Catcher.cs Prioritise hyperfruit over non-hyperfruit if simultaneous 2023-12-04 09:30:18 +01:00
CatcherAnimationState.cs Remove #nullable disable from Catch.UI 2023-01-15 17:29:35 +09:00
CatcherArea.cs Use IsRewinding in a few more places 2023-07-08 13:32:24 +02:00
CatcherTrail.cs Remove #nullable disable from Catch.UI 2023-01-15 17:29:35 +09:00
CatcherTrailAnimation.cs Remove #nullable disable from Catch.UI 2023-01-15 17:29:35 +09:00
CatcherTrailDisplay.cs Remove #nullable disable from Catch.UI 2023-01-15 17:29:35 +09:00
CatcherTrailEntry.cs Remove #nullable disable from Catch.UI 2023-01-15 17:29:35 +09:00
CatchPlayfield.cs Add beat snap grid for osu!catch editor 2023-06-06 17:52:29 +09:00
CatchPlayfieldAdjustmentContainer.cs Refactor catch playfield size adjustment logic w.r.t. catcher position 2023-10-10 02:42:37 +03:00
CatchReplayRecorder.cs Remove #nullable disable from Catch.UI 2023-01-15 17:29:35 +09:00
CatchTouchInputMapper.cs remove unnecessary using 2022-12-14 11:19:16 -05:00
Direction.cs Remove #nullable disable from Catch.UI 2023-01-15 17:29:35 +09:00
DrawableCatchRuleset.cs Allow toggling SVs in the editor 2023-08-18 18:55:24 +09:00
DroppedObjectContainer.cs Remove #nullable disable from Catch.UI 2023-01-15 17:29:35 +09:00
HitExplosion.cs Partial everything 2022-11-27 00:00:27 +09:00
HitExplosionContainer.cs Remove #nullable disable from Catch.UI 2023-01-15 17:29:35 +09:00
HitExplosionEntry.cs
ICatchComboCounter.cs Remove #nullable disable from Catch.UI 2023-01-15 17:29:35 +09:00
IHitExplosion.cs
SkinnableCatcher.cs Adjust catcher origin position to match 1:1 with stable 2023-10-10 01:26:59 +03:00