Closes #13320.
Refactor catch Movement skill to not require explicit clockrate usage
Update DHO lifetime on entry lifetime change
DrawableRuleset
DrawableEditorRulesetWrapper
Setting entry lifetime will cause `LifetimeChanged` event and `base.LifetimeStart`/`End` will be modified in the callback.
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
IScrollingHitObject
HitObjectContainer.OnAdd
OnRemove
Now, `OnAdd` is always invoked after the DHO is added to the container. This change is required by `ScrollingHitObjectContainer` to compute origin adjusted lifetime when origin position is relative to the parent drawable size.
# Conflicts: # osu.Game/Rulesets/UI/Scrolling/ScrollingHitObjectContainer.cs
scrollLength
It was not clear when the field is updated.
The scheduling is no longer necessary because `OnAdd` is changed to not invoked immediately for non-pooled DHOs.
Only top-level hit objects are checked for layout computation caching. Also, lifetime of nested hit objects are not managed by the HitObjectContainer.
Update hit object lifetime on `HitObject.DefaultsApplied`
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
HitObject.DefaultsApplied
InitialLifetimeOffset
OnApply/OnFree
ApplyDefaults
Disallow using scroll wheel for gameplay bindings
InputKey
Ensure `RegenerateAutoplay` is only run once per frame
RegenerateAutoplay
PoolableDrawableWithLifetime
It turns out the incompatibility with `LifetimeManagementContainer` causes more issues than anticipated.
PlacementBlueprint
Closes #12855.
This reverts commit 632bb70e
632bb70e
This reverts commit 73dfb04d
73dfb04d
Rename hitobject blueprints and tie them to HitObjects
Remove obsolete methods in `ModHidden` and apply few touches
Encapsulate check arguments in context object