Bartłomiej Dach
b0ca82e1e5
Move slider path point drag handling to visualiser
2021-12-20 20:56:06 +01:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
smoogipoo
f9d5abff8a
Update with keybinding changes
2021-09-16 18:26: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
Dean Herbert
df5970fab4
Create base implementations of the two most common TernaryStateMenuItem
s
2021-05-20 19:34:53 +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
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
2949a6bbdc
Handle control point drag revert
2021-04-16 15:45:24 +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
Naxess
51f0477df4
Move bounding box logic to framework
2021-03-26 04:42:46 +01:00
Naxess
ce9130ca50
Remove determinant limit
...
This has since been added into the framework through https://github.com/ppy/osu-framework/pull/4302
2021-03-25 17:38:55 +01:00
Naxess
9df059b01d
Add bounding box limit
2021-03-24 17:25:28 +01:00
Naxess
e0240ab9d9
Increase exterior threshold
2021-03-24 05:55:34 +01:00
Naxess
4ae3eaaac6
Move path type correction
...
This is better because `PathControlPointVisualizer` is local to the editor, meaning there is no chance that this could affect gameplay.
2021-03-24 03:02:19 +01:00
Naxess
0bcd38e661
Simplify path type maintenance when dragging
2021-03-24 02:57:47 +01:00
Naxess
5ee280f941
Update PointsInSegment when adding/removing points
...
There was a bug where if you created a slider, moved the last point, and then added a point such that it became a PerfectCurve, it would fail to recover after becoming a Bezier.
This fixes that.
2021-03-24 02:56:32 +01:00
Naxess
067178e537
Maintain path type when dragging/placing
2021-03-22 15:59:06 +01:00
Dean Herbert
27c38db14d
Add tooltips for slider path nodes which aren't inheriting
2021-03-19 16:58:08 +09:00
Dean Herbert
5f31304d05
Give each type of slider path type a unique colour to help visually distinguish them
2021-03-19 14:00:26 +09:00
ekrctb
245be2c5ed
Adjust namespace
2020-12-04 20:21:53 +09:00
Dan Balasescu
be3fed3072
Merge pull request #11024 from peppy/fix-slider-point-drag-offset
...
Fix slider control point dragging not correctly accounting for drag deadzone
2020-12-02 11:10:06 +09:00
Dean Herbert
b256c54619
Scale slider control point display in line with circle size
2020-12-01 14:17:36 +09:00
Dean Herbert
c8c1848bb8
Fix slider control point dragging not correctly accounting for drag deadzone
2020-12-01 13:46:30 +09:00
Dean Herbert
b547abafb2
Fix slider right click context menus not being shown outside the valid playfield area
...
Closes #10816 .
2020-11-20 13:46:23 +09:00
kamp
2d66423fbd
Simplify inequality
2020-11-17 23:04:38 +01:00
kamp
c8fb49d540
Apply suggestions and remove redundant updateConnectingPath call
2020-11-17 22:23:46 +01:00
kamp
c6618f08aa
Fix slider control point connections not being updated
2020-11-16 21:26:08 +01:00
Dean Herbert
3f24fabb57
Add change handler support for contorl point deletion
2020-11-05 15:05:43 +09:00
Dean Herbert
242ec1ca82
Don't override PathControlPointVisualiser's positional handling
...
It turns out it was relying on this to deselect control points on
clicking away from them.
2020-11-05 14:58:30 +09:00
Dean Herbert
9f333ac58a
Add the ability to delete slider control points using shift+right click
...
Closes https://github.com/ppy/osu/issues/10672 .
In two minds about how this should be implemented but went in this
direction initially. The other way would be to add local handling of
Shift-Right Click inside PathControlPointPiece (which is already doing
mouse handling itself).
2020-11-03 20:46:33 +09:00
Dean Herbert
6b9e94ae93
Avoid retaining slider selection blueprints FBO backing textures after deselection
2020-10-09 14:05:00 +09:00
Dean Herbert
63b5b8b841
Fix sliders not dragging correctly after snaking has begun
...
Closes #10278 .
2020-09-28 17:33:00 +09:00
Dean Herbert
af30d1201f
Fix slider path control point blueprint not working correctly
2020-05-22 18:57:28 +09:00
Dean Herbert
c46bfc2532
Create SnapResult class to hold various snapping results
2020-05-20 21:00:47 +09:00
Dean Herbert
3354d48a38
Change snapping to be screen space coordinate based
2020-05-20 21:00:29 +09:00