Commit Graph

17673 Commits

Author SHA1 Message Date
6d4f94756e Rewrite the way drag + click selections happen
The general idea here is that we need the masks to handle mouse down events, as they need to handle the drag (mousedown -> drag immediately).

I've rewritten the editor selections to use events, as there are some 3 different components that handle/trigger selections in different ways.

1. All selections/deselections now propagate through `HitObjectMask.Select()`/`HitObjectMask.Deselect()`.
2. Components that react to changes in the selection bind to the masks' `Selected`/`Deselected` events, and track them/change their states locally.
3. Masks provide a `SingleSelectionRequested` event which is invoked on the mouse-down event. Various components bind to this event to perform state changes locally in this scenario.
4. `DragBox` now handles all drag input locally. It triggers `Select`/`Deselect` on the masks it needs to.
5. `SelectionBox` handles the display of itself locally.
6. `SelectionBox` handles movement of groups of masks locally.
7. `HitObjectMasks` handles movement of itself locally.
2018-03-29 22:07:23 +09:00
57e4281601 Make HitObjectMasks VisibilityContainers 2018-03-29 18:44:15 +09:00
6314694557 Make HitObjectMaskLayer always create masks for all objects 2018-03-29 17:13:45 +09:00
187a025d36 Make hitobjects sorted by their start times 2018-03-29 16:07:31 +09:00
af9e3a849f Merge branch 'master' into score-multiplier-edits 2018-03-28 20:42:35 -07:00
5457f17e79 Clean up code from reviews 2018-03-28 19:53:15 -07:00
c937789684 Rename GetMessagesRequest to GetChannelMessagesRequest 2018-03-28 21:33:50 +02:00
56de6c1067 Rename Channel to ChannelChat 2018-03-28 21:11:06 +02:00
9aae568bbe Tidy up csproj further 2018-03-28 15:19:56 +09:00
94b1d3e4af Make VisualTests/nUnit work again 2018-03-28 12:33:01 +09:00
84bb96740f Fix merge error. 2018-03-27 18:27:30 -03:00
19bc6b9168 Merge https://github.com/ppy/osu into beatmap-set-status 2018-03-27 18:13:58 -03:00
506e27a30e Cleanup. 2018-03-27 17:59:58 -03:00
458594d24d Qualifier 'this.' is redundant 2018-03-27 18:03:57 +03:00
ac9527147f Fix transitioning of unranked label 2018-03-27 03:05:05 -07:00
1a8aa87469 Make everything better 2018-03-27 18:56:54 +09:00
988141408f Update copyright year 2018-03-27 15:26:15 +09:00
b290d2d039 Move NUnit includes to individual projects 2018-03-27 15:07:09 +09:00
eb374c5774 Add beatmap set online status and display it in direct panels and the beatmap set overlay. 2018-03-26 21:04:45 -03:00
dd5bbbbd9f Define testable projects 2018-03-26 19:11:23 +09:00
5159127bce Fix SQLite failing to initialize on test projects 2018-03-26 18:07:09 +09:00
35ef9d99c6 Only compile with net461 in visual studio 2018-03-26 15:44:55 +09:00
96901b6498 Add msbuild/dotnet build + launch targets 2018-03-26 10:52:54 +09:00
90d763fda5 Apply review changes and suggestions 2018-03-25 10:00:30 -07:00
46d859a660 exit player earlier if a dummy map is loaded 2018-03-25 13:25:48 +02:00
78a7564acd Score multiplier edits 2018-03-24 16:00:18 -07:00
4dc317d4df Fix msbuild warnings 2018-03-25 03:38:52 +09:00
097ab66182 Fix resharper error 2018-03-25 01:54:25 +09:00
d28de89e50 Add net461 target to test projects for nunit discovery
Nunit "by design" will not run tests for NETStandard projects (see: https://github.com/nunit/dotnet-test-nunit/issues/122#issuecomment-329531632).
2018-03-25 01:35:50 +09:00
e91d24f31a Use ScreenshotCaptureMenuCursor in ScreenshotManager 2018-03-24 12:53:01 +03:00
0e669c9a3f Fix many warnings 2018-03-24 18:23:22 +09:00
ffa712dccb Fix post-merge issues 2018-03-24 15:19:45 +09:00
c29f7a4333 Merge remote-tracking branch 'origin/master' into netstandard 2018-03-24 14:49:46 +09:00
76886c8e3f Merge branch 'master' into performance-logging-toggle 2018-03-24 13:32:49 +09:00
1996698817 Fix @1x skin elements not being used 2018-03-24 11:40:45 +09:00
923f96d940 Merge branch 'master' into performance-logging-toggle 2018-03-24 11:36:20 +09:00
3844e95656 Fix one more instance of the same thing happening 2018-03-24 05:55:56 +09:00
256baf6d60 Move binding to LoadComplete
Previously there was a chance that it would still never get disposed, as the event was bound in async load, before it was in a state it can be recursively disposed via the PlayerLoader call.
2018-03-24 05:40:51 +09:00
b593c47809 Add setting to toggle performance logging 2018-03-24 05:07:48 +09:00
dd5cc59250 Introduce 'Capture menu cursor' setting 2018-03-23 22:53:06 +03:00
e47aa0edc0 Merge branch 'master' into fix-background-fade 2018-03-24 03:40:13 +09:00
0976e83b33 Merge branch 'master' into fix-api-abort 2018-03-24 03:13:28 +09:00
1576b31a48 Merge branch 'master' into add-perfect-mod-icon 2018-03-23 21:32:15 +09:00
676feb3658 Merge branch 'master' into fix-mod-button-sounds 2018-03-23 21:03:42 +09:00
f0c0a51108 Convert APIAccess to use cancellation tokens 2018-03-23 20:57:04 +09:00
9ab3610b95 Merge branch 'master' into fix-player-disposal 2018-03-23 20:45:42 +09:00
afdab7895a Fix beatmap background fade not being updated on retry
Fixes #2287
2018-03-23 20:41:38 +09:00
b4eaaa4fd1 Merge branch 'master' into fix-circularprogress-glow 2018-03-23 19:01:28 +09:00
52fa837447 Fix volume glow being cut off
Fixes #2285.
2018-03-23 18:17:23 +09:00
6c4e719e0f Fix API never stopping its thread 2018-03-23 15:46:55 +09:00