1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 13:22:55 +08:00
Commit Graph

479 Commits

Author SHA1 Message Date
Dean Herbert
f1d9b225a7
Remove probably pointless comment 2022-09-05 16:40:10 +09:00
Dean Herbert
8af8adf22d Fix incorrect slider length in timeline when non-default velocity is inherited from previous object 2022-09-05 16:17:26 +09:00
Dean Herbert
03dcfed384
Merge branch 'master' into slider-splitter 2022-08-26 19:10:33 +09:00
Dean Herbert
47cb163015 Refactor splitting logic and comments slightly 2022-08-26 19:09:03 +09:00
Dean Herbert
f54047d17b Move selection clearing to top 2022-08-26 18:55:20 +09:00
Dean Herbert
3ca4bdc087 Add ToArray() calls to removal iteration for safety 2022-08-25 15:13:38 +09:00
Dean Herbert
091c51e664 Fix SliderPath.Version bindings not being correctly cleaned up on path changes 2022-08-25 15:00:32 +09:00
OliBomby
631ea9a3ed added a gap between objects and made it theoretically possible to retain sample control point 2022-08-23 23:29:59 +02:00
OliBomby
1f9cdff013 remove these lines 2022-08-23 22:19:40 +02:00
Dean Herbert
885ea4270b Reorder context menu items and tidy up surrounding code 2022-08-20 14:03:54 +09:00
OliBomby
d1519343f6 Improved visual tests for slider splitting 2022-08-19 18:29:01 +02:00
OliBomby
89eb0a4079 Added TestScene for slider splitting 2022-08-19 01:10:54 +02:00
OliBomby
cb6339a20b added slider splitting option 2022-08-18 01:29:03 +02:00
Dean Herbert
0ff5547b83 Make changeHandler optional in convertToStream method to match new implementation 2022-08-17 13:35:44 +09:00
Dean Herbert
06ae30a7d2 Fix slider velocity not using previous value if slider is not adjacent 2022-07-19 22:54:11 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dean Herbert
cf3ead8047 Remove unused local 2022-05-13 22:06:30 +09:00
Dean Herbert
d9782b5ef6 Remove redundant parenthesis 2022-05-13 21:31:49 +09:00
Dean Herbert
38b8baf095 Remove unused border colour 2022-05-13 21:28:50 +09:00
Dean Herbert
1529162318 Remove circle scaling (apparently the fixed scale is required for spacing) 2022-05-13 21:28:45 +09:00
Dean Herbert
0318944b80 Fix incorrect alive criteria causing clicking future objects to be too greedy 2022-05-12 23:37:29 +09:00
Dean Herbert
0c335592b3 Tidy up interpolation and move const to new home 2022-05-12 19:44:07 +09:00
Dean Herbert
be3d4c9bf5 Add circle overlap marker, bringing back stable-like visibility of circles in the past 2022-05-12 19:27:32 +09:00
Dean Herbert
1b2c07e142 Extend lifetime of OsuSelectionBlueprint to allow for lingering display 2022-05-12 19:25:51 +09:00
Dan Balasescu
39d10487b9
Merge branch 'master' into snapping-tidy-distance 2022-05-05 19:55:55 +09:00
Dean Herbert
977e6d8a80 Add xmldoc for IDistanceSnapProvider and related properties 2022-05-05 16:25:45 +09:00
Dean Herbert
f6fc926f1a Add xmldoc and rename methods in IPositionSnapProvider for legibility 2022-05-05 15:58:21 +09:00
Salman Ahmed
59cf3ff50f Move distancing methods from IPositionSnapProvider to IDistanceSnapProvider 2022-04-28 05:48:45 +03:00
Susko3
19467e58c1 Remove unused params from BDL methods 2022-01-15 01:06:39 +01:00
Bartłomiej Dach
c09f6ee052
Use slider snapping more liberally to match user expectations
Previously the slider path length would be snapped using the current
beat snap setting on *every* change of the slider path. As it turns out
this is unexpected behaviour in some situations (e.g. when reversing a
path, which is expected to preserve the previous duration, even though
the slider may be technically "unsnapped" at that point in time due to a
different beat snap setting being selected afterwards).
2022-01-07 16:02:04 +01:00
Joseph Madamba
7de43e3aba Fix most open compound words in identifiers being closed 2021-12-27 20:26:28 -08:00
Bartłomiej Dach
c6a5ac1c5f
Fix control point additions without a drag not being undoable 2021-12-23 09:32:52 +01:00
Bartłomiej Dach
cbda637d66
Fix drag after placement moving last placed point sometimes
More specifically, if the left mouse button was just pressed without a
drag, `OnDragEnd()` wouldn't fire, and the next drag would start moving
the last placed control point around regardless of where the mouse was.
2021-12-23 09:25:10 +01:00
Dean Herbert
b0df787b1a Move public method up and add xmldoc to second public method 2021-12-23 14:13:57 +09:00
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 TernaryStateMenuItems 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
f2e56bd306 Refactor editor selection/blueprint components to be generic 2021-04-27 19:01:29 +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
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
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
smoogipoo
e265beb289 Fix merge error 2019-10-07 18:49:59 +09:00
Dean Herbert
179cde917b
Merge branch 'master' into rework-selection-updates 2019-10-06 15:00:56 +08:00
smoogipoo
652acac87f Move placement movement event to BlueprintContainer 2019-10-03 16:14:42 +09:00
smoogipoo
90ad1c5166 Add more tests for slider selection blueprint 2019-10-01 19:33:27 +09:00
smoogipoo
ba5c9547e1 Add more tests for hitcircle selection blueprint 2019-10-01 19:33:15 +09:00
smoogipoo
bddaead72e Make hitobject pieces able to update dynamically 2019-09-27 18:45:22 +09:00
smoogipoo
4fc37d1137 Remove SliderPiece + HitObjectPiece 2019-09-27 18:01:55 +09:00
smoogipoo
f64fe22f36 Remove bindables from osu! selection blueprints 2019-09-27 18:00:24 +09:00
Dean Herbert
e50b70d615 Centralise osu! circle radius specification 2019-07-22 14:40:02 +09:00
Dean Herbert
c39c37a18d Apply more missed cases 2019-04-01 12:44:46 +09:00