Bartłomiej Dach
c3fada1926
Replace assertion with soft null check
...
Surrounding `OnDrag{Start,End}` methods did so already.
2021-12-22 10:33:08 +01:00
Bartłomiej Dach
6330fa5dc5
Select newly created control point
2021-12-22 10:33:07 +01:00
Bartłomiej Dach
e22745397d
Fix right click deselecting clicked path piece with control held
2021-12-22 08:55:26 +01:00
Bartłomiej Dach
e715bff535
Fix selections including head not correctly dragging if not started from head
2021-12-21 12:35:48 +01:00
Bartłomiej Dach
5ef4e23335
Fix selecting control points without control not deselecting other selected points
2021-12-20 22:41:24 +01:00
Bartłomiej Dach
bf8c87e9b7
Fix releasing mouse after drag deselecting dragged point
2021-12-20 22:41:23 +01:00
Bartłomiej Dach
d2417beeac
Implement drag operation for multiple path control points
2021-12-20 21:29:57 +01:00
Bartłomiej Dach
a9408485cc
Change control point piece selection logic to allow dragging multiple
2021-12-20 21:18:38 +01:00
Bartłomiej Dach
b0ca82e1e5
Move slider path point drag handling to visualiser
2021-12-20 20:56:06 +01:00
Bartłomiej Dach
8aa04864ce
Add support for converting sliders with repeats to streams
2021-11-11 23:25:49 +01:00
Bartłomiej Dach
0cd3f98598
Ensure samples & sample points are carried over during conversion
2021-11-11 21:43:06 +01:00
Bartłomiej Dach
27707d52ec
Implement slider-to-stream conversion
2021-11-11 21:01:30 +01:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
Dean Herbert
ac471a0ec1
Merge branch 'no-more-difficulty-control-points-info' into slider-timeline-velcotiy-adjust-v2
2021-10-01 17:46:58 +09:00
Dean Herbert
46bafb6252
Merge branch 'master' into no-more-difficulty-control-points-info
2021-09-28 13:53:56 +09:00
smoogipoo
f9d5abff8a
Update with keybinding changes
2021-09-16 18:26:12 +09:00
Dean Herbert
2114a4729c
Set a sane default for new slider blueprints
2021-09-14 18:28:27 +09:00
Dean Herbert
d4e5a612ea
Update IPositionalSnapProvider
to take a HitObject
as reference, rather than raw time
...
This allows fetching the correct `DifficultyControlPoint` from the
hitobject. Nothing more.
2021-09-03 17:11:12 +09:00
Dean Herbert
17f6efc6fe
Fix missed cases of incorrect .Value
usage
...
Changing from `Bindable` to `Nullable` comes with its issues...
2021-08-26 14:02:57 +09:00
Dean Herbert
6dcd9427ac
Remove bindable usage in PathControlPoint
...
This is quite a breaking change, but I think it is beneficial due to the large amount of usage of this class.
I originally intended just to remove the allocations of the two delegates handling the `Changed` flow internally, but as nothing was really using the bindables for anything more than a general "point has changed" case, this felt like a better direction.
2021-08-26 12:33:53 +09:00
ekrctb
1bac471b49
Adapt to PlatformAction
type change
2021-07-21 16:12:53 +09:00
Bartłomiej Dach
50c27d2635
Update usages of IHasTooltip
in line with framework localisation changes
2021-06-25 19:10:04 +02:00
smoogipoo
3db995c778
Fix sliders jumping around the screen on movement
2021-05-24 17:15:57 +09:00
Dean Herbert
df5970fab4
Create base implementations of the two most common TernaryStateMenuItem
s
2021-05-20 19:34:53 +09:00
smoogipoo
532c41c82e
Remove nested blueprints from sliders
2021-05-18 14:19:11 +09:00
smoogipoo
e621cfc4ea
Add Apply() method for applying new DHOs
2021-05-18 14:14:10 +09:00
smoogipoo
ffb6135a1b
Rework hitobject blueprints to take in hitobject models
2021-05-13 19:53:32 +09:00
Dean Herbert
01d732bb65
Revert "Refactor SliderSelectionBlueprint
to not reference blueprint pieces for input handling"
...
This reverts commit 54fe10c82a
.
2021-05-08 23:33:03 +09:00
Dean Herbert
63e267a3be
Revert "Trim redundant this
qualifier"
...
This reverts commit df630d9428
.
2021-05-08 23:32:52 +09:00
Bartłomiej Dach
df630d9428
Trim redundant this
qualifier
2021-05-08 14:53:19 +02:00
Dean Herbert
54fe10c82a
Refactor SliderSelectionBlueprint
to not reference blueprint pieces for input handling
2021-05-07 10:36:03 +09:00
Dean Herbert
39067e6926
Fix slider input handling potentially being offset after composer area resize
...
Closes https://github.com/ppy/osu/issues/12671 .
2021-05-06 17:19:19 +09:00
Dean Herbert
ec1c336b0a
Fix a couple of inspections
2021-04-27 13:23:14 +09:00
Dean Herbert
89373638be
Handle control point deletion when the resulting slider would be too short to be useful
2021-04-16 15:45:24 +09:00
Dean Herbert
2949a6bbdc
Handle control point drag revert
2021-04-16 15:45:24 +09:00
Dean Herbert
d38e294d96
Centralise length validation function
2021-04-16 15:45:24 +09:00
Dean Herbert
965a1ead36
Disallow zero-length slider blueprint placements
2021-04-16 14:38:30 +09:00
Dean Herbert
5c0ef55691
Rename SliderPlacementState
to make way for more generic version
2021-04-16 14:09:35 +09:00
Dean Herbert
fbc6fb8fc5
Split out common logic into private method and add inline comment for future visitors
2021-04-13 15:35:57 +09:00
Naxess
d9e3276d0e
Don't update path type once immediately
2021-04-12 19:18:22 +02:00
Naxess
f64b2095bf
Carry over the previous path type
2021-04-09 11:04:00 +02:00
Naxess
9a675a2219
Correct 4+ point perfect curves to Bezier
2021-04-08 12:33:43 +02:00
Naxess
be4520fe33
Fix index out of range possibility
2021-04-08 11:46:00 +02:00
Naxess
0341023d13
Improve UX of selecting PerfectCurve
2021-04-08 09:06:28 +02:00
Naxess
725edfcbf3
Add path type menu change method
2021-04-08 09:05:35 +02:00
Naxess
d6490899e2
Simplify slider path bindings
...
Adds a slight performance overhead, but solves the memory leak and makes the code much easier to follow.
2021-04-08 03:21:56 +02:00
Naxess
d1d56c636a
Convert pathTypes
to local variable
...
Not entirely sure what holds the reference to pathTypes now (the binding to`slider.Path.ControlPoints` maybe?), but this does seem to work still.
2021-04-08 01:43:06 +02:00
Naxess
b8ab1c7682
Track path type changes for PointsInSegment
2021-04-07 17:19:12 +02:00
Naxess
5022a78e80
Check current point instead of start point
...
Since each control point will call this when the path updates, the previous would correct the start segment 3 times instead of just once.
This fixes that.
2021-03-31 20:25:46 +02:00
Naxess
75b8f2535f
Move updatePathTypes to PathControlPointPiece
...
Here we produce a local bound copy of the path version, and bind it to update the path type.
This way, if the path version updates (i.e. any control point changes type or position), we check that all control points have a well-defined path.
Additionally, if the control point piece is disposed of, the GB should also swoop up the subscription because of the local bound copy.
2021-03-31 20:09:56 +02:00