Derrick Timmermans
ee220feecf
Avoid using guesses to determine whether inputs blocked
2021-07-18 16:04:23 +02:00
ekrctb
eec4457473
Add [CanBeNull]
to methods returning null by default
2021-06-23 09:40:07 +09:00
Dean Herbert
55cc533a37
Merge branch 'master' into hoc-event-queue
2021-05-18 16:31:20 +09:00
smoogipoo
aaf31af326
Add blueprint transferral
2021-05-13 21:16:19 +09:00
Dean Herbert
a4e0529617
Replace polling logic with direct bindable reactions
2021-05-11 18:39:15 +09:00
Dean Herbert
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
Dean Herbert
532ec40395
Remove unnecessary newline
2021-04-28 12:04:48 +09:00
Dean Herbert
43772f4303
Remove duplicated call to initially select blueprint
2021-04-28 12:03:41 +09:00
Dean Herbert
e4f2e0131c
Rename AllowDeselection
to better match use case
2021-04-28 12:02:55 +09:00
Dean Herbert
d0be8f9fb3
Remove one more out-of-date comment
2021-04-28 11:45:36 +09:00
Dean Herbert
42255f8d33
Rename and xmldoc selection completed method
2021-04-27 19:01:29 +09:00
Dean Herbert
7ec5ea1eb5
Remove hitobject terminology from base classes
2021-04-27 19:01:29 +09:00
Dean Herbert
dd3d8e5d03
Make SelectionHandler
abstract to ensure things get implemented
2021-04-27 19:01:29 +09:00
Dean Herbert
eac139ca0e
Allow BlueprintContainer to perform movement without an ISnapProvider
2021-04-27 19:01:29 +09:00
Dean Herbert
f2e56bd306
Refactor editor selection/blueprint components to be generic
2021-04-27 19:01:29 +09:00
Dean Herbert
1884c18a2c
Ignore movement operations which have no offset
2021-04-22 18:12:03 +09:00
Dean Herbert
c59906e925
Fix an occasional crash when deleting a HitObject via internal means
2021-04-16 15:55:33 +09:00
Dean Herbert
66e74da2b7
Fix regression in quick delete mouse action blocking
2021-04-13 13:03:14 +09:00
Dean Herbert
cc2acf5e54
Fix ctrl-dragging on an existing selection causing deselection of the hovered object
2021-04-12 19:05:23 +09:00
Dean Herbert
8d4ff867bf
Fix barlines showing up in the osu!mania editor's timeline
2021-03-25 16:30:31 +09:00
Bartłomiej Dach
dd48b68f8a
Ensure selected blueprints are given selection priority
2021-03-19 22:44:33 +01:00
Dean Herbert
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
Dean Herbert
04fa32bc34
Rename and add xmldoc for smooth seeking method
2021-01-15 16:14:21 +09:00
Dean Herbert
c17d67bc7d
Merge branch 'master' into editor-beat-snap-always
2020-11-30 18:34:38 +09:00
Dean Herbert
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
Dean Herbert
91592cf32d
Expose EditorClock for consumption
2020-11-26 19:20:39 +09:00
Dean Herbert
0ddeff648d
Fix incorrect index lookup on non-ordered selections
2020-11-25 17:25:54 +09:00
Dean Herbert
c9a41f9dae
Make all objects in selection candidates for spatial snapping
...
Closes #10898 .
2020-11-24 17:35:54 +09:00
smoogipoo
f00c23b4a0
Add comment + xmldoc
2020-11-18 13:37:15 +09:00
smoogipoo
783c172b5d
Make sealed and cleanup comparator
2020-11-18 13:33:22 +09:00
smoogipoo
58c8184ad7
Define blueprint order similarly to hitobjects
2020-11-17 22:56:31 +09:00
Dean Herbert
7b79b9b9c1
Merge branch 'master' into fix-quick-delete-crash
2020-11-16 13:54:54 +09:00
Bartłomiej Dach
399a1a16a0
Refactor beginClickSelection in a slightly different way
2020-11-15 21:06:47 +01:00
kamp
1db303b159
Revert beginClickSelection logic
2020-11-15 16:54:48 +01:00
Bartłomiej Dach
610ed99ae3
Add null checks to unguarded resolved-as-null fields
2020-11-14 14:52:58 +01:00
kamp
4d2bc790fd
Fix crash on shift+right-click deleting objects
2020-11-14 13:20:16 +01:00
smoogipoo
0219aff7bc
Add timeline visible range adjustment
2020-11-13 17:10:29 +09:00
smoogipoo
3957697c48
Add pooling support to the editor
2020-11-13 17:08:20 +09:00
smoogipoo
4ef2e9548c
Pass HitObjectComposer to BlueprintContainer via ctor
2020-11-13 16:59:37 +09:00
Dean Herbert
de6fcd1792
Fix BlueprintContainer triggering assert when left and right mouse button are pressed together
2020-11-10 17:16:28 +09:00
Dean Herbert
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
Dean Herbert
d19b799f44
Invert boolean logic
2020-11-04 17:53:03 +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
003994ab75
Bind UpdateVisibility() directly to source of truth
2020-10-31 13:54:02 +01:00
Bartłomiej Dach
202fe09306
Group selection actions back up in SelectionHandler
2020-10-28 22:06:48 +01:00
Dean Herbert
681e88af40
Merge branch 'master' into editor-fix-button-states-after-paste
2020-10-09 20:51:09 +09:00
Dean Herbert
3838f405dd
Fix missed usages
2020-10-09 18:50:05 +09:00
Dean Herbert
afed832b19
Tidy up EditorBeatmap slightly
2020-10-08 18:06:49 +09:00
Dean Herbert
ef092de9ba
Add missing UpdateHitObject calls and move local to usages (not via bindables)
2020-10-08 18:04:07 +09:00
Dean Herbert
a4e9c85333
Trigger a hitobject update after blueprint drag ends
2020-09-28 15:37:06 +09:00
Dean Herbert
51cc644b7b
Fix set access to SelectionHandler
...
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2020-09-25 17:42:49 +09:00
Dean Herbert
0f8551e9ea
Merge branch 'editor-ternary-states' into new-combo-toggle
2020-09-25 15:36:33 +09:00
Dean Herbert
a6adf8334e
Use existing method to update combo state of selection
2020-09-25 14:19:35 +09:00
Dean Herbert
e009264f10
Add new combo toggle to main composer interface
2020-09-25 14:10:30 +09:00
Dean Herbert
44be0ab762
Add basic osu! object to object snapping
2020-09-24 16:24:35 +09:00
Dean Herbert
81f30cd264
Select blueprint if object is already selected at the point of adding
2020-09-12 21:23:11 +09:00
Dean Herbert
22e6df02b6
Fix editor selected hitobjects containing the selection up to five times
2020-09-11 20:27:07 +09:00
Dean Herbert
c3123bf117
Rename drag blueprint selection method for discoverability
2020-09-08 17:22:59 +09:00
Dan Balasescu
288c0402ee
Merge branch 'master' into editor-show-selected-count
2020-07-17 18:00:35 +09:00
Dean Herbert
ea6f257dc2
Add a display of count of selected objects in editor
2020-07-17 17:48:27 +09:00
Dean Herbert
222a22182e
Fix double-click incorrectly firing across disparate targets
2020-07-17 17:03:57 +09:00
Dan Balasescu
fd9ac3503f
Merge branch 'master' into fix-editor-drag-selection-while-playing
2020-06-23 21:56:31 +09:00
smoogipoo
e7238e25f9
Fix exception when dragging after deleting object
2020-06-23 20:36:09 +09:00
Dean Herbert
a5eac716ec
Make work for all editors based on track running state
2020-06-23 18:42:56 +09:00
Dean Herbert
abe07b742e
Fix drag scroll in editor timeline no longer working correctly
2020-06-14 13:20:58 +09:00
Dean Herbert
9a060cfb3a
Allow drag selections to occur from outside the playfield
2020-05-27 20:44:15 +09:00
Dean Herbert
d18eb663b1
Add tweening seek support to EditorClock
2020-05-22 16:47:52 +09:00
Dean Herbert
dd09d7830d
Cache and resolve editor clock as EditorClock in all cases
2020-05-22 16:44:06 +09:00
Dean Herbert
8a47e2431b
Move distance snap grid implementation to OsuHitObjectComposer
2020-05-21 17:13:22 +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
cebc0fc046
Attempt to fix multiple selection movements
2020-04-27 20:35:24 +09:00
smoogipoo
4ebb28d3e7
wip
2020-04-23 17:52:54 +09:00
smoogipoo
575b061dd7
Add change state support to more editor components
2020-04-09 22:02:42 +09:00
smoogipoo
958c891d15
Update with framework-side bindable list changes
2020-02-17 15:06:14 +09:00
Dan Balasescu
28cf5c7a59
Add accessor
2020-02-10 14:28:43 +09:00
Dean Herbert
56a091674b
Add placement display to timeline
2020-02-07 18:04:10 +09:00
Dean Herbert
8e2159e4eb
Ensure selection tool correctly matches selection state
...
- When a selection is made (via the timeline) the selection tool should become the select tool.
- When the selection tool is changed to anything *but* the select tool, the selection should be cleared.
2020-01-28 15:13:12 +09:00
smoogipoo
811ddb02a4
General refactoring
2020-01-24 17:50:36 +09:00
smoogipoo
28727bbafd
Fix crash when deselecting via ctrl+click
2020-01-24 17:30:37 +09:00
Dean Herbert
9d90799447
Remove useless container
2020-01-23 16:20:42 +09:00
Dean Herbert
289be7a17b
Merge branch 'i-beat-snapping' into timeline-maybe
2020-01-23 15:45:33 +09:00
Dean Herbert
c76f76e5aa
Fix being able to drag out of the blueprint intending to be moved
2020-01-23 14:30:25 +09:00
Dean Herbert
aa1a226ab7
Remove unused ScreenSpaceStartPosition field
2020-01-23 14:30:25 +09:00
Dean Herbert
cb6e7425ae
Make dragbox stateful to fix blueprint movement
2020-01-23 14:30:25 +09:00
Dean Herbert
8a7f7c5e46
Merge remote-tracking branch 'smoogipoo/void-key-up-returns' into update-framework
2020-01-22 22:57:56 +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
c88bdbd4a0
Share selected hitobjects across multiple blueprint containers
2020-01-21 20:46:39 +09:00
Dean Herbert
a888d148b6
Remove remaining cast
2020-01-21 18:01:10 +09:00
Dean Herbert
53fe0ce790
Use AliveChildren
2020-01-21 14:20:52 +09:00
Dean Herbert
bd96cf94a6
Begin refactoring SelectionBlueprint to handle non-drawable HitObjects
2020-01-21 12:47:14 +09:00
smoogipoo
40f502c6d1
Apply input method signature refactorings
2020-01-20 19:35:37 +09:00
smoogipoo
bfb056c612
Apply input method signature refactorings
2020-01-20 18:17:21 +09:00
smoogipoo
9535b3eeba
Fix possible nullref on blueprint removal
2020-01-16 12:00:36 +09:00
smoogipoo
5f178b7755
General refactorings
2020-01-16 11:54:03 +09:00
Dean Herbert
d57f55f053
Apply remaining changes required to restore previous functionality
2020-01-15 19:09:49 +09:00
Dean Herbert
d8d12cbbdd
wip: Move more functionality into ComposeBlueprintContainer
2020-01-02 19:09:37 +09:00
Dean Herbert
ee332e0d42
Split out BlueprintContainer functionality further
2020-01-02 18:21:16 +09:00
smoogipoo
8c378dc625
Move EditorBeatmap construction/conversion to Editor
2019-12-30 14:51:14 +09:00