1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 05:02:55 +08:00
Commit Graph

289 Commits

Author SHA1 Message Date
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
Bartłomiej Dach
e67c759eef Mark control point visualiser as possibly-null 2021-03-19 22:44:31 +01:00
Bartłomiej Dach
9634560d4b Fix control point visualiser crashing after deselections
`SliderSelectionBlueprint.OnDeselected()` would expire the
`ControlPointVisualiser` on deselection, leading to its removal from the
blueprint and eventual disposal, but still kept a separate reference to
said visualiser in another field.

This could lead to that stale reference to a disposed child getting read
in `ReceivePositionalInputAt()`, crashing quite a ways down over at the
framework side on futilely trying to compute the bounding box of a
drawable with no parent.
2021-03-19 21:40:22 +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
smoogipoo
3aa3692ed4 Disable snaking out when tracking is disabled 2021-02-05 15:56:13 +09:00
Dean Herbert
02d2b2742b Fix selection box not updating with hitcircles/sliders far in the future or past 2021-01-18 16:57:36 +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
9811c46e35 Rename application method to better describe what it actually does 2020-11-26 19:16:18 +09:00
smoogipoo
96abee3fde Fix silent NRE in slider selection blueprint 2020-11-20 22:43:10 +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
kamp
42c543472d Remove unnecessary null coalesce 2020-11-07 01:56:41 +01:00
kamp
b47a2a03d5 Fix nullref when quickdeleting slider that hasn't been selected yet 2020-11-07 01:53:14 +01:00
Dan Balasescu
f230250faf
Merge branch 'master' into editor-slider-control-point-quick-delete 2020-11-06 21:47:37 +09: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
eed9894d3a Remove usage of case-when (caught me off-gaurd) 2020-11-05 13:58:41 +09:00
smoogipoo
9a7fcadabc Use BDL for top-level osu! DHOs 2020-11-05 13:51:46 +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
Bartłomiej Dach
f41879ee7c Show current hit circle placement in timeline 2020-10-10 17:54:37 +02:00
Dan Balasescu
ecfb7e94c5
Merge branch 'master' into fix-editor-batch-handling 2020-10-09 20:06:06 +09:00
Dean Herbert
a0af2eb6c8 Private protect setters 2020-10-09 16:54:43 +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
34d1439f8e Only update slider selection blueprints paths when visible 2020-10-09 14:04:26 +09:00
Dean Herbert
afed832b19 Tidy up EditorBeatmap slightly 2020-10-08 18:06:49 +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
b1f7cfbd5b Reduce children levels in RingPiece 2020-09-22 17:34:21 +09:00
Dean Herbert
f5c974dd89 Hide non-alive selection blueprints by default 2020-05-27 13:40:16 +09:00
Dean Herbert
af30d1201f Fix slider path control point blueprint not working correctly 2020-05-22 18:57:28 +09:00
Dean Herbert
a9a1c00cf1 Move responsibility placement blueprint's StartTime set to within 2020-05-21 14:50:33 +09:00
Dean Herbert
82d6549161 Pass down snap result and remove local TimeAt usage 2020-05-20 21:01:29 +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
smoogipoo
ca692f30e6 Do full placement on mouse down 2020-04-24 12:27:56 +09:00
smoogipoo
8d5732aabd Make placements happen on mouse down 2020-04-23 12:17:11 +09:00
Dean Herbert
2b2ab2bf19 Show new segments as red points even when hovered 2020-04-13 21:59:23 +09:00
smoogipoo
4cfc686683 Fix excption with 0 control points 2020-04-13 21:41:18 +09:00
Dean Herbert
63de493c85
Merge branch 'master' into fix-red-point-placement 2020-04-13 20:56:50 +09:00
Dean Herbert
64422fbf6d
Merge pull request #8697 from smoogipoo/more-change-state-support
Add change state support to more Editor components
2020-04-13 20:19:04 +09:00
smoogipoo
9a65aa18d7 Fix connections hidden due to overlapping controlpoints 2020-04-13 16:13:14 +09:00
smoogipoo
2c20328a70 Rework control point placement for better progression 2020-04-13 15:31:46 +09:00
smoogipoo
e17d5bdbaf Improve red slider control point placement logic 2020-04-13 13:57:40 +09:00
smoogipoo
575b061dd7 Add change state support to more editor components 2020-04-09 22:02:42 +09:00
smoogipoo
ee6ea08cf8 Cleanup handling of hitobject updates 2020-04-09 20:16:44 +09:00
Dean Herbert
0fe41fd50a Fix blueprint showing even when mouse outside of container 2020-02-13 09:03:48 +09:00
Dean Herbert
91203c2b12
Merge branch 'master' into placement-display-in-timeline 2020-02-08 01:50:24 +09:00
smoogipoo
51edd88277 Add back fade 2020-02-08 00:28:52 +09:00
Dean Herbert
830afe5209 Make spinner blueprint update values more frequently. Also handle right-click 2020-02-07 19:09:47 +09:00
Dean Herbert
e31d69c749 Add commit status to EndPlacement; call BeginPlacement on initial movement 2020-02-07 18:02:48 +09:00
smoogipoo
811ddb02a4 General refactoring 2020-01-24 17:50:36 +09:00
smoogipoo
6fc6a376ee Fix incorrect slider selection point 2020-01-24 17:50:09 +09:00
Dean Herbert
289be7a17b Merge branch 'i-beat-snapping' into timeline-maybe 2020-01-23 15:45:33 +09:00
Dean Herbert
7c62cc3ac3 Merge remote-tracking branch 'smoogipoo/void-mouse-up-returns' into update-framework 2020-01-22 22:57:52 +09:00
smoogipoo
7b2f58eb30 Apply OnRelease method signature refactorings 2020-01-22 13:22:34 +09:00
Dean Herbert
bd96cf94a6 Begin refactoring SelectionBlueprint to handle non-drawable HitObjects 2020-01-21 12:47:14 +09:00
smoogipoo
bfb056c612 Apply input method signature refactorings 2020-01-20 18:17:21 +09:00
Dean Herbert
eed2984bef
Update sdk and InspectCode version (#7208)
Update sdk and InspectCode version
2019-12-16 19:46:12 +09:00
Huo Yaoyuan
c457571da6 Use index and range expressions 2019-12-15 20:17:35 +08:00
Dean Herbert
42a01a10dd Merge remote-tracking branch 'upstream/master' into separate-path-connection 2019-12-11 20:14:29 +09:00
Dean Herbert
50377e7286 Add summary xmldoc 2019-12-11 20:14:16 +09:00
Dean Herbert
47b6b01739 Rename class to signify it is a drawable 2019-12-11 20:11:48 +09:00
Dean Herbert
d027c982e4
Merge branch 'master' into separate-path-connection 2019-12-11 19:03:14 +09:00
Dean Herbert
23959f3a3c Move control point removal to SliderSelectionBlueprint 2019-12-11 18:58:35 +09:00
Dean Herbert
d82ba3e7f7 Curve -> Curve type 2019-12-11 18:20:28 +09:00
Dean Herbert
03040d1750 Don't show inherit menu item when first control point is selected 2019-12-11 18:18:16 +09:00
Dean Herbert
97ca2e2753 Add missing bezier option to menu 2019-12-11 17:58:59 +09:00
Dean Herbert
cda6757f52
Merge branch 'master' into path-type-menuitem 2019-12-11 16:43:55 +09:00
Dean Herbert
f515bdc599
Merge branch 'master' into separate-path-connection 2019-12-11 16:43:04 +09:00
Dean Herbert
632b1b9ee9
Merge branch 'master' into path-visualiser-refactor 2019-12-11 16:24:45 +09:00
Dean Herbert
f593caf0ea Remove unused class 2019-12-10 18:08:51 +09:00
Dan Balasescu
42a979b495
Merge branch 'master' into path-visualiser-refactor 2019-12-10 16:33:45 +09:00
Dean Herbert
5f3d163772
Merge branch 'master' into segmented-slider-paths-3 2019-12-10 14:28:20 +09:00
smoogipoo
e9ec6591a9 Separate path connections from control points 2019-12-10 11:20:08 +09:00
Dean Herbert
1db218f908 Don't show count when deleting only one control point
Reads better.
2019-12-10 03:29:25 +09:00
smoogipoo
1b14b0e5b6 Fix pieces blocking context menu 2019-12-10 00:08:38 +09:00
smoogipoo
9b318d2869 Add right-click menu item to change path type 2019-12-10 00:07:07 +09:00
smoogipoo
0ee303f7d6 Remove unused using 2019-12-09 22:45:44 +09:00
smoogipoo
2c4c190f15 Fix control points not adding to last segment 2019-12-09 22:44:47 +09:00
smoogipoo
bd2b0af269 Consider having only 1 control point as being deleted 2019-12-09 22:36:19 +09:00
smoogipoo
af90b45c40 Refactor path visualisers to use bindables 2019-12-09 20:49:59 +09:00
smoogipoo
2dbf94f3ab Make placement blueprint add an initial segment 2019-12-09 18:10:40 +09:00
smoogipoo
883d5bc11d Remove automatic slider path offsetting 2019-12-09 17:54:22 +09:00
smoogipoo
53f7c753fb General cleanups 2019-12-09 16:44:19 +09:00
smoogipoo
4905709ea4 Remove unused usings 2019-12-09 13:19:21 +09:00
smoogipoo
41437242a2 Add initial path type progression support 2019-12-06 19:39:25 +09:00
smoogipoo
52dd7bf716 Fix deleting the first control point not working 2019-12-06 18:49:14 +09:00
smoogipoo
16f8341a02 Handle control point positional updates within SliderPath 2019-12-06 18:49:01 +09:00
smoogipoo
2b5f9515de Fix multiple control point deletions 2019-12-06 17:03:54 +09:00
smoogipoo
d29ccdc25e Fix selection blueprint not re-snapping the path 2019-12-06 16:36:08 +09:00
smoogipoo
b4e1b5fa98 Explose + use the full calculated length of the path 2019-12-06 15:53:19 +09:00
smoogipoo
a89a23fe08 Use linq to simplify some expressions 2019-12-06 13:08:35 +09:00
smoogipoo
247609388f Clean up unused/unnecessary properties 2019-12-06 12:31:22 +09:00
smoogipoo
3ebbf62b2a Initial game-wide update with the new SliderPath 2019-12-05 19:53:36 +09:00
Huo Yaoyuan
c0fe91a84c Merge branch 'master' into sharpen 2019-11-26 18:21:50 +08:00
Dean Herbert
c2e85a2057 Apply CornerExponent fixes 2019-11-22 19:49:20 +09:00
Huo Yaoyuan
818553027b Merge branch 'master' into sharpen 2019-11-21 23:42:46 +08:00
smoogipoo
031b686ee9 Only accept input while hovered 2019-11-13 17:38:34 +09:00
smoogipoo
d835def4ab Add point count to the menu item text 2019-11-13 17:36:46 +09:00
smoogipoo
c56503ee88 Select single control point on right click 2019-11-13 17:29:00 +09:00
smoogipoo
9c52d239b4 Return null to allow passthrough 2019-11-13 16:56:48 +09:00
smoogipoo
4c0bca5c07 Add ability to delete control points via right-click option 2019-11-13 16:38:15 +09:00
Huo Yaoyuan
7d7b9e36b2 Use compound assignment. 2019-11-12 19:53:50 +08:00
smoogipoo
a0884fe9d4 Fix being able to add while not selected 2019-11-12 15:07:54 +09:00
smoogipoo
93d8cd38ca Implement addition via ctrl+click 2019-11-12 15:02:27 +09:00
smoogipoo
407ca41ba4 Simplify using existing tools 2019-11-12 15:02:27 +09:00
smoogipoo
316dcae614 Use squared distance 2019-11-12 15:02:27 +09:00
smoogipoo
13b11996e0 Improve closest segment algorithm 2019-11-12 15:02:27 +09:00
smoogipoo
10fd5ef5a7 Merge context menus 2019-11-12 15:02:27 +09:00
smoogipoo
461f76926f Add right-click menu to support control point addition 2019-11-12 15:02:01 +09:00
smoogipoo
b1da81571f Implement slider head control point snapping 2019-11-07 14:00:12 +09:00
Dean Herbert
52dba69a64
Implement slider control point deletion (#6679)
Implement slider control point deletion

Co-authored-by: Dean Herbert <pe@ppy.sh>
2019-11-05 19:15:15 +09:00
smoogipoo
d77882c21b Fix slider selection input handled outside path 2019-11-05 17:31:52 +09:00
smoogipoo
7c20a589f2 Remove unused usings 2019-11-05 13:56:21 +09:00
smoogipoo
c8beb5296f Use PlatformAction.Delete instead of Delete key 2019-11-05 13:26:44 +09:00
smoogipoo
08bd811326 Merge remote-tracking branch 'origin/master' into slider-controlpoint-deletion
# Conflicts:
#	osu.Game.Rulesets.Osu/Edit/Blueprints/Sliders/Components/PathControlPointVisualiser.cs
2019-11-05 13:07:06 +09:00
Dean Herbert
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
Dean Herbert
bcf8a6d514 Fix slider creation regressing with path selection changes 2019-11-03 19:59:37 +09:00
Dean Herbert
f69a641d35
Merge branch 'master' into slider-controlpoint-deletion 2019-11-03 19:32:10 +09:00
Dean Herbert
1155aacd90
Update sliders when control points change (#6680)
Update sliders when control points change
2019-11-03 19:05:48 +09:00
Dean Herbert
f849926049
Merge branch 'master' into slider-controlpoint-deletion 2019-11-03 19:05:17 +09:00
Dean Herbert
4dbdfcdd3c Change control to toggle rather than always select 2019-11-03 18:41:29 +09:00
smoogipoo
41ae66d517 Update slider when control points change 2019-10-31 18:24:38 +09:00
smoogipoo
18f374eec6 Deselect deleted control points 2019-10-31 17:58:33 +09:00
smoogipoo
78194cfa6e Implement slider control point deletions 2019-10-31 17:54:09 +09:00
smoogipoo
43b2cbb865 Implement slider control point deletion 2019-10-31 17:39:57 +09:00
smoogipoo
20aeb7aaff Implement multiple selection 2019-10-31 17:25:30 +09:00
smoogipoo
8d50b155e8 Make selection happen on click only 2019-10-31 17:13:10 +09:00
smoogipoo
cfdf710676 Add test 2019-10-31 16:51:58 +09:00
smoogipoo
e23a75c64a Implement control point selection 2019-10-31 16:23:54 +09:00
Dean Herbert
194e501f86
Merge branch 'master' into snapping-refactor 2019-10-26 14:20:08 +09:00
smoogipoo
da6ee05dd6 Fix not being able to drag non-snaked sliders 2019-10-25 18:37:44 +09:00
smoogipoo
607b4d874a Refactor flow of snapping through HitObjectComposer 2019-10-25 16:40:30 +09:00
smoogipoo
a6458fdeab Re-use slider type 2019-10-24 19:04:24 +09:00
smoogipoo
b7af4acdbf Allow not having a composer 2019-10-24 19:04:00 +09:00
smoogipoo
0af5706db6 Snap path during control point movement 2019-10-24 19:02:59 +09:00
smoogipoo
f45f17339c Implement slider path distance snapping 2019-10-24 18:17:30 +09:00
smoogipoo
436941cda3 Add comment 2019-10-23 17:58:44 +09:00
smoogipoo
b903edca45 Don't snap slider control point placement 2019-10-23 16:03:16 +09:00
smoogipoo
c34d3362df Fix hit circles selection area being too large 2019-10-21 17:14:08 +09:00
smoogipoo
38c2c328ff Rename HitObject -> DrawableObject in selection blueprints 2019-10-21 17:04:56 +09:00
smoogipoo
96649e0a6a Fix selection blueprints not respecting stacking 2019-10-21 15:03:49 +09:00
smoogipoo
79b2c7b480 Make BeginPlacement() set the hitobject start time 2019-10-16 20:04:15 +09:00