Commit Graph

7414 Commits

Author SHA1 Message Date
smoogipoo
69a7ddbf1e Fix ordering of display/input of HitObjectMasks 2018-03-30 16:28:49 +09:00
smoogipoo
53541a5c8d Add license header 2018-03-30 15:53:31 +09:00
smoogipoo
5d0a636cc4 Rename SelectionBox -> Selection 2018-03-30 15:51:38 +09:00
smoogipoo
1dca1663c3 Handle all selection events within SelectionBox (incl. single-mask) 2018-03-30 15:50:55 +09:00
smoogipoo
082e5e4949 Reduce iterations of DragBox 2018-03-30 15:06:52 +09:00
Dean Herbert
e1123c5a95
Merge branch 'master' into selectionlayer-rewrite 2018-03-30 12:29:58 +09:00
smoogipoo
6b2ca36657 Add license header 2018-03-29 22:52:42 +09:00
smoogipoo
6767dd3d4a Fix hitobject masks dying with no recovery 2018-03-29 22:42:42 +09:00
smoogipoo
d9c5a0c6d1 Fix position editing not working 2018-03-29 22:38:44 +09:00
smoogipoo
4446aeaa0d Commenting + cleanup of HitObjectMask/HitObjectMaskLayer 2018-03-29 22:38:28 +09:00
smoogipoo
d8f26f2260 Make HitObjectMaskLayer not iterate through all masks when deselecting 2018-03-29 22:22:42 +09:00
smoogipoo
1018711cc9 Cleanup SelectionBox 2018-03-29 22:20:56 +09:00
smoogipoo
346de77776 Cleanup DragBox 2018-03-29 22:13:28 +09:00
smoogipoo
04874bcda4 "overlay" -> "mask" 2018-03-29 22:09:22 +09:00
smoogipoo
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
smoogipoo
57e4281601 Make HitObjectMasks VisibilityContainers 2018-03-29 18:44:15 +09:00
smoogipoo
6314694557 Make HitObjectMaskLayer always create masks for all objects 2018-03-29 17:13:45 +09:00
smoogipoo
187a025d36 Make hitobjects sorted by their start times 2018-03-29 16:07:31 +09:00
Dean Herbert
9aae568bbe Tidy up csproj further 2018-03-28 15:19:56 +09:00
Dean Herbert
94b1d3e4af Make VisualTests/nUnit work again 2018-03-28 12:33:01 +09:00
Dean Herbert
1a8aa87469 Make everything better 2018-03-27 18:56:54 +09:00
Dean Herbert
988141408f Update copyright year 2018-03-27 15:26:15 +09:00
Dean Herbert
b290d2d039 Move NUnit includes to individual projects 2018-03-27 15:07:09 +09:00
smoogipoo
dd5bbbbd9f Define testable projects 2018-03-26 19:11:23 +09:00
smoogipoo
5159127bce Fix SQLite failing to initialize on test projects 2018-03-26 18:07:09 +09:00
smoogipoo
35ef9d99c6 Only compile with net461 in visual studio 2018-03-26 15:44:55 +09:00
smoogipoo
96901b6498 Add msbuild/dotnet build + launch targets 2018-03-26 10:52:54 +09:00
smoogipoo
4dc317d4df Fix msbuild warnings 2018-03-25 03:38:52 +09:00
smoogipoo
097ab66182 Fix resharper error 2018-03-25 01:54:25 +09:00
smoogipoo
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
Dean Herbert
0e669c9a3f Fix many warnings 2018-03-24 18:23:22 +09:00
smoogipoo
ffa712dccb Fix post-merge issues 2018-03-24 15:19:45 +09:00
smoogipoo
c29f7a4333 Merge remote-tracking branch 'origin/master' into netstandard 2018-03-24 14:49:46 +09:00
Dean Herbert
76886c8e3f
Merge branch 'master' into performance-logging-toggle 2018-03-24 13:32:49 +09:00
Dean Herbert
1996698817 Fix @1x skin elements not being used 2018-03-24 11:40:45 +09:00
Dean Herbert
923f96d940
Merge branch 'master' into performance-logging-toggle 2018-03-24 11:36:20 +09:00
Dean Herbert
3844e95656 Fix one more instance of the same thing happening 2018-03-24 05:55:56 +09:00
Dean Herbert
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
Dean Herbert
b593c47809 Add setting to toggle performance logging 2018-03-24 05:07:48 +09:00
Dean Herbert
e47aa0edc0
Merge branch 'master' into fix-background-fade 2018-03-24 03:40:13 +09:00
Dean Herbert
0976e83b33
Merge branch 'master' into fix-api-abort 2018-03-24 03:13:28 +09:00
Dan Balasescu
1576b31a48
Merge branch 'master' into add-perfect-mod-icon 2018-03-23 21:32:15 +09:00
Dan Balasescu
676feb3658
Merge branch 'master' into fix-mod-button-sounds 2018-03-23 21:03:42 +09:00
smoogipoo
f0c0a51108 Convert APIAccess to use cancellation tokens 2018-03-23 20:57:04 +09:00
Dan Balasescu
9ab3610b95
Merge branch 'master' into fix-player-disposal 2018-03-23 20:45:42 +09:00
smoogipoo
afdab7895a Fix beatmap background fade not being updated on retry
Fixes #2287
2018-03-23 20:41:38 +09:00
Dean Herbert
b4eaaa4fd1
Merge branch 'master' into fix-circularprogress-glow 2018-03-23 19:01:28 +09:00
smoogipoo
52fa837447 Fix volume glow being cut off
Fixes #2285.
2018-03-23 18:17:23 +09:00
Dean Herbert
6c4e719e0f Fix API never stopping its thread 2018-03-23 15:46:55 +09:00
Dean Herbert
eb751fa607 Fix event unbind not being unbound correctly 2018-03-23 15:05:28 +09:00