Dean Herbert
cd48cb1887
Add comment
2018-04-06 19:53:23 +09:00
Dean Herbert
5426432e46
Fix drag select crashing
2018-04-06 11:47:21 +09:00
Dean Herbert
32e8d93596
Fix selection changing when clicking overlapping hitobjects
2018-04-06 11:22:36 +09:00
Dean Herbert
24b9a8c983
Allow HitObjectMasks to handle drag events directly
2018-04-06 10:29:34 +09:00
Dean Herbert
5749e71560
Apply review fixes
2018-04-05 21:06:48 +09:00
Dean Herbert
345cfb077d
No need to sort list any more
2018-04-05 21:03:39 +09:00
Dean Herbert
216c4629e0
Fix dragging backwards not deselecting pending selection
2018-04-04 20:44:22 +09:00
Dean Herbert
b7325d73e8
Don't inherit VisbilityContainer
2018-04-04 20:44:11 +09:00
Dean Herbert
94c3f38541
Pass down input state instead of parent lookup
2018-04-04 20:06:45 +09:00
Dean Herbert
2b15555ede
Remove MaskContainer dependency in MaskSelection
2018-04-04 20:05:01 +09:00
Dean Herbert
5c036b966b
Formatting fixes
2018-04-04 20:04:54 +09:00
Dean Herbert
31a7db0a35
Fix drag mishaps
2018-04-04 19:42:59 +09:00
Dean Herbert
bce114a37b
Make AliveMasks private
2018-04-04 18:55:17 +09:00
Dean Herbert
4d71f2084c
Move individual mask selection logic out of MaskSelection
2018-04-04 18:29:53 +09:00
Dean Herbert
b6b8c51657
Remove DragLayer dependency on MaskContainer
2018-04-04 18:20:32 +09:00
Dean Herbert
c2d371797e
Fix unbind failure
2018-04-04 17:38:34 +09:00
Dean Herbert
c712b29b5b
Rename dragBox to dragLayer
2018-04-04 16:24:27 +09:00
Dean Herbert
4196bb8c24
Move selection logic to MaskContainer
2018-04-04 16:24:13 +09:00
Dean Herbert
d453c2589a
Add an explanatory comment for weird override
2018-04-04 16:02:20 +09:00
Dean Herbert
788bfde002
Merge branch 'master' into selectionlayer-rewrite
2018-04-04 15:38:27 +09:00
smoogipoo
4f19059e55
DragBox -> DragLayer
2018-04-03 21:29:49 +09:00
Dean Herbert
ddba7254ca
Merge remote-tracking branch 'upstream/master' into linq
2018-04-03 13:05:08 +09:00
Dean Herbert
57b4cdaf85
Merge branch 'master' into selectionlayer-rewrite
2018-04-03 03:05:42 +09:00
Dan Balasescu
32832304a7
Merge branch 'master' into fix-songselect-exit-notimplemented
2018-04-02 13:53:41 +09:00
Huo Yaoyuan
b842f682eb
Use Linq.Append and Prepend.
2018-04-02 12:06:34 +08:00
smoogipoo
f1f7d978ec
Add some comments
2018-03-30 16:28:59 +09:00
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
smoogipoo
6b2ca36657
Add license header
2018-03-29 22:52: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
6314694557
Make HitObjectMaskLayer always create masks for all objects
2018-03-29 17:13:45 +09:00
FreezyLemon
46d859a660
exit player earlier if a dummy map is loaded
2018-03-25 13:25:48 +02:00
smoogipoo
097ab66182
Fix resharper error
2018-03-25 01:54:25 +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
e47aa0edc0
Merge branch 'master' into fix-background-fade
2018-03-24 03:40:13 +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
b56eee1927
Fix background loaded player never being disposed if early exit occurs
2018-03-23 15:04:40 +09:00
Dean Herbert
d4aeb3d00b
Fix BeatmapCarousel's flush not correctly applying selection changes
...
They may have been delayed until the next Update, which is too late in this case.
2018-03-23 12:10:13 +09:00