Commit Graph

142 Commits

Author SHA1 Message Date
a4e0529617 Replace polling logic with direct bindable reactions 2021-05-11 18:39:15 +09:00
9c62c90cfc Refactor SelectionBlueprint and MoveSelectionEvent to work in screen-space coordinates
Until now, the implementation of the overrides in `SelectionBlueprint`
have been confusing to the point where I would just implement by
trial-and-error (or copying from an existing implementation). This was
due to a combination of using "object" space coordinates
(ie. the thing the `Blueprint` is operating on) and screen-space coordinates.

This change switches all event related coordinates to screen-space,
which is how we already handle rotation/scale operations. With the
introduction of other editor types where the related objects are
drawables, this also makes a lot more sense.
2021-04-29 16:10:42 +09:00
532ec40395 Remove unnecessary newline 2021-04-28 12:04:48 +09:00
43772f4303 Remove duplicated call to initially select blueprint 2021-04-28 12:03:41 +09:00
e4f2e0131c Rename AllowDeselection to better match use case 2021-04-28 12:02:55 +09:00
d0be8f9fb3 Remove one more out-of-date comment 2021-04-28 11:45:36 +09:00
42255f8d33 Rename and xmldoc selection completed method 2021-04-27 19:01:29 +09:00
7ec5ea1eb5 Remove hitobject terminology from base classes 2021-04-27 19:01:29 +09:00
dd3d8e5d03 Make SelectionHandler abstract to ensure things get implemented 2021-04-27 19:01:29 +09:00
eac139ca0e Allow BlueprintContainer to perform movement without an ISnapProvider 2021-04-27 19:01:29 +09:00
f2e56bd306 Refactor editor selection/blueprint components to be generic 2021-04-27 19:01:29 +09:00
1884c18a2c Ignore movement operations which have no offset 2021-04-22 18:12:03 +09:00
c59906e925 Fix an occasional crash when deleting a HitObject via internal means 2021-04-16 15:55:33 +09:00
66e74da2b7 Fix regression in quick delete mouse action blocking 2021-04-13 13:03:14 +09:00
cc2acf5e54 Fix ctrl-dragging on an existing selection causing deselection of the hovered object 2021-04-12 19:05:23 +09:00
8d4ff867bf Fix barlines showing up in the osu!mania editor's timeline 2021-03-25 16:30:31 +09:00
dd48b68f8a Ensure selected blueprints are given selection priority 2021-03-19 22:44:33 +01:00
cd1c1bf534 Centralise cases of performing actions on the current selection
By moving this to a central location, we can avoid invoking the
EditorChangeHandler when there is no selection made. This helps
alleviate the issue pointed out in
https://github.com/ppy/osu/issues/11901, but not fix it completely.
2021-02-26 14:15:13 +09:00
04fa32bc34 Rename and add xmldoc for smooth seeking method 2021-01-15 16:14:21 +09:00
c17d67bc7d Merge branch 'master' into editor-beat-snap-always 2020-11-30 18:34:38 +09:00
7edbba58f7 Avoid updating hitobjects unnecessarily for start time changes
This was firing regardless of whether the start time was changed, such
as where beat snap provided the same time the object already has.

The case where a change actually occurs is already handled by
EditorBeatmap (see `startTimeBindables`), so it turns out this local
handling is not required at all.
2020-11-27 16:31:06 +09:00
91592cf32d Expose EditorClock for consumption 2020-11-26 19:20:39 +09:00
0ddeff648d Fix incorrect index lookup on non-ordered selections 2020-11-25 17:25:54 +09:00
c9a41f9dae Make all objects in selection candidates for spatial snapping
Closes #10898.
2020-11-24 17:35:54 +09:00
f00c23b4a0 Add comment + xmldoc 2020-11-18 13:37:15 +09:00
783c172b5d Make sealed and cleanup comparator 2020-11-18 13:33:22 +09:00
58c8184ad7 Define blueprint order similarly to hitobjects 2020-11-17 22:56:31 +09:00
7b79b9b9c1 Merge branch 'master' into fix-quick-delete-crash 2020-11-16 13:54:54 +09:00
399a1a16a0 Refactor beginClickSelection in a slightly different way 2020-11-15 21:06:47 +01:00
1db303b159 Revert beginClickSelection logic 2020-11-15 16:54:48 +01:00
610ed99ae3 Add null checks to unguarded resolved-as-null fields 2020-11-14 14:52:58 +01:00
4d2bc790fd Fix crash on shift+right-click deleting objects 2020-11-14 13:20:16 +01:00
0219aff7bc Add timeline visible range adjustment 2020-11-13 17:10:29 +09:00
3957697c48 Add pooling support to the editor 2020-11-13 17:08:20 +09:00
4ef2e9548c Pass HitObjectComposer to BlueprintContainer via ctor 2020-11-13 16:59:37 +09:00
de6fcd1792 Fix BlueprintContainer triggering assert when left and right mouse button are pressed together 2020-11-10 17:16:28 +09:00
a012105dac Fix editor quick delete being triggerable from left mouse button
Closes https://github.com/ppy/osu/issues/10629.
2020-11-10 16:54:37 +09:00
d19b799f44 Invert boolean logic 2020-11-04 17:53:03 +09:00
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
003994ab75 Bind UpdateVisibility() directly to source of truth 2020-10-31 13:54:02 +01:00
202fe09306 Group selection actions back up in SelectionHandler 2020-10-28 22:06:48 +01:00
681e88af40 Merge branch 'master' into editor-fix-button-states-after-paste 2020-10-09 20:51:09 +09:00
3838f405dd Fix missed usages 2020-10-09 18:50:05 +09:00
afed832b19 Tidy up EditorBeatmap slightly 2020-10-08 18:06:49 +09:00
ef092de9ba Add missing UpdateHitObject calls and move local to usages (not via bindables) 2020-10-08 18:04:07 +09:00
a4e9c85333 Trigger a hitobject update after blueprint drag ends 2020-09-28 15:37:06 +09:00
51cc644b7b Fix set access to SelectionHandler
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2020-09-25 17:42:49 +09:00
0f8551e9ea Merge branch 'editor-ternary-states' into new-combo-toggle 2020-09-25 15:36:33 +09:00
a6adf8334e Use existing method to update combo state of selection 2020-09-25 14:19:35 +09:00
e009264f10 Add new combo toggle to main composer interface 2020-09-25 14:10:30 +09:00