Commit Graph

60 Commits

Author SHA1 Message Date
7de43e3aba Fix most open compound words in identifiers being closed 2021-12-27 20:26:28 -08:00
e22745397d Fix right click deselecting clicked path piece with control held 2021-12-22 08:55:26 +01:00
e715bff535 Fix selections including head not correctly dragging if not started from head 2021-12-21 12:35:48 +01:00
5ef4e23335 Fix selecting control points without control not deselecting other selected points 2021-12-20 22:41:24 +01:00
bf8c87e9b7 Fix releasing mouse after drag deselecting dragged point 2021-12-20 22:41:23 +01:00
d2417beeac Implement drag operation for multiple path control points 2021-12-20 21:29:57 +01:00
a9408485cc Change control point piece selection logic to allow dragging multiple 2021-12-20 21:18:38 +01:00
b0ca82e1e5 Move slider path point drag handling to visualiser 2021-12-20 20:56:06 +01:00
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
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
50c27d2635 Update usages of IHasTooltip in line with framework localisation changes 2021-06-25 19:10:04 +02:00
2949a6bbdc Handle control point drag revert 2021-04-16 15:45:24 +09:00
fbc6fb8fc5 Split out common logic into private method and add inline comment for future visitors 2021-04-13 15:35:57 +09:00
d9e3276d0e Don't update path type once immediately 2021-04-12 19:18:22 +02:00
9a675a2219 Correct 4+ point perfect curves to Bezier 2021-04-08 12:33:43 +02:00
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
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
b8ab1c7682 Track path type changes for PointsInSegment 2021-04-07 17:19:12 +02:00
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
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
0bcd38e661 Simplify path type maintenance when dragging 2021-03-24 02:57:47 +01:00
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
067178e537 Maintain path type when dragging/placing 2021-03-22 15:59:06 +01:00
27c38db14d Add tooltips for slider path nodes which aren't inheriting 2021-03-19 16:58:08 +09:00
5f31304d05 Give each type of slider path type a unique colour to help visually distinguish them 2021-03-19 14:00:26 +09:00
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
b256c54619 Scale slider control point display in line with circle size 2020-12-01 14:17:36 +09:00
c8c1848bb8 Fix slider control point dragging not correctly accounting for drag deadzone 2020-12-01 13:46:30 +09:00
af30d1201f Fix slider path control point blueprint not working correctly 2020-05-22 18:57:28 +09:00
c46bfc2532 Create SnapResult class to hold various snapping results 2020-05-20 21:00:47 +09:00
3354d48a38 Change snapping to be screen space coordinate based 2020-05-20 21:00:29 +09:00
8d5732aabd Make placements happen on mouse down 2020-04-23 12:17:11 +09:00
2b2ab2bf19 Show new segments as red points even when hovered 2020-04-13 21:59:23 +09:00
575b061dd7 Add change state support to more editor components 2020-04-09 22:02:42 +09:00
bfb056c612 Apply input method signature refactorings 2020-01-20 18:17:21 +09:00
50377e7286 Add summary xmldoc 2019-12-11 20:14:16 +09:00
e9ec6591a9 Separate path connections from control points 2019-12-10 11:20:08 +09:00
1b14b0e5b6 Fix pieces blocking context menu 2019-12-10 00:08:38 +09:00
0ee303f7d6 Remove unused using 2019-12-09 22:45:44 +09:00
af90b45c40 Refactor path visualisers to use bindables 2019-12-09 20:49:59 +09:00
247609388f Clean up unused/unnecessary properties 2019-12-06 12:31:22 +09:00
3ebbf62b2a Initial game-wide update with the new SliderPath 2019-12-05 19:53:36 +09:00
c56503ee88 Select single control point on right click 2019-11-13 17:29:00 +09:00
4c0bca5c07 Add ability to delete control points via right-click option 2019-11-13 16:38:15 +09:00
b1da81571f Implement slider head control point snapping 2019-11-07 14:00:12 +09:00
66253a0bd4 Handle selection on mouse down instead of click
This is how other elements work, and feels better with drag preselection
2019-11-05 02:21:50 +09:00
bcf8a6d514 Fix slider creation regressing with path selection changes 2019-11-03 19:59:37 +09:00
4dbdfcdd3c Change control to toggle rather than always select 2019-11-03 18:41:29 +09:00
8d50b155e8 Make selection happen on click only 2019-10-31 17:13:10 +09:00
e23a75c64a Implement control point selection 2019-10-31 16:23:54 +09:00