1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-19 22:33:00 +08:00
Commit Graph

75 Commits

Author SHA1 Message Date
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
Dean Herbert
cb3d0db555 Move combo colours completely out of HitObjects 2018-03-20 15:50:12 +09:00
Dean Herbert
a42035f494 Make DrawableHitObject a CompositeDrawable
No reason for it to be a container.
2018-03-15 13:41:06 +09:00
smoogipoo
24501c37dd Merge branch 'drawableslider-cleanup' into editor-hitobject-movement 2018-03-10 01:15:24 +09:00
smoogipoo
8ed5fce43a Split out the slider head into a separate drawable hitobject 2018-03-10 01:13:59 +09:00
smoogipoo
4a48136e4f Make hitobject positions adjustable 2018-03-09 23:12:34 +09:00
Dean Herbert
0704d823a9 Fix slider selection point not being set to new origin 2018-03-01 22:03:00 +09:00
Dean Herbert
bdd88303b3
Merge branch 'master' into editor-hitobject-overlays 2018-02-26 17:53:50 +09:00
Dean Herbert
1218a75b7f Improve vector conditional 2018-02-26 16:11:26 +09:00
Dean Herbert
9cbed461c4
Merge branch 'master' into sliderbody-rework 2018-02-26 15:00:18 +09:00
Dean Herbert
f1ddfa0581 Fix sliders never getting a correct lifetime set 2018-02-25 16:25:56 +09:00
smoogipoo
50d1183ec2 Division-by-zero safety + reference our own size 2018-02-24 02:53:02 +09:00
smoogipoo
066abfbdbc Rename PositionAt -> CurvePositionAt to represent its new meaning 2018-02-24 02:43:36 +09:00
smoogipoo
8c90abe0dc Make slider control points relative to start position 2018-02-23 20:59:27 +09:00
smoogipoo
08bb25347c Make DrawableSlider contain the slider body 2018-02-23 20:27:05 +09:00
smoogipoo
604b0fa20a Fix post-merge issues 2018-02-22 14:11:06 +09:00
smoogipoo
ded2644df8 Merge branch 'master' into editor-hitobject-overlays 2018-02-22 14:08:36 +09:00
Dean Herbert
3b4e4bd110 Merge remote-tracking branch 'upstream/master' into general-slider-improvements 2018-02-22 12:28:33 +09:00
smoogipoo
f903e6d241 Fix stacking not working with sliders
Fixes #2093.
2018-02-21 17:46:45 +09:00
smoogipoo
f877b642da Clean up and document better what "progress" means 2018-02-21 17:10:18 +09:00
smoogipoo
7fe0989427 Merge branch 'general-slider-improvements' into editor-hitobject-overlays 2018-02-20 23:51:47 +09:00
smoogipoo
ee055b8e5c Allow customizing the snake-ability of sliders 2018-02-20 20:53:06 +09:00
smoogipoo
ad2f556133 Add hitobject overlays to selected hitobjects 2018-02-20 18:01:45 +09:00
smoogipoo
cfb2b3f1e8 Rework SelctionLayer to support click-selections 2018-02-12 16:02:42 +09:00
Dan Balasescu
39e626f29e
Merge branch 'master' into fix-ticks-appearing-late 2018-02-01 18:28:42 +09:00
smoogipoo
27357e100a Simplify condition 2018-01-30 16:28:38 +09:00
smoogipoo
702c4efb88 Give Slider a tail hitobject to make slider ends counts towards score 2018-01-30 16:28:14 +09:00
smoogipoo
b293408147 Construct the head of sliders from Slider 2018-01-30 15:50:48 +09:00
Aergwyn
214938b98d fix SliderTicks appearing too late 2018-01-25 10:52:03 +01:00
Aergwyn
24b7d91f5b Merge branch 'master' into fix-repeats-appearing-early 2018-01-23 09:04:45 +01:00
smoogipoo
33c52ba30f Fix off-by-ones in RepeatPoint code 2018-01-23 13:58:43 +09:00
smoogipoo
d37844c068 Clean up off-by-one offsets from repeat-related properties 2018-01-23 13:37:25 +09:00
Aergwyn
b726f90c37 remove unnecessary variable 2018-01-22 12:44:55 +01:00
Aergwyn
66176f2882 fix RepeatPoint animations
- FadeIn and -Out for RepeatPoints are now calculated instead of fixed values
- TimePreempt is now cut down if too long for RepeatPoints following the first one to only show up to two RepeatPoints at any given time
2018-01-22 12:36:38 +01:00
Shawdooow
e109d5fe20 fix slider heads 2018-01-19 11:13:49 -05:00
Dean Herbert
01ff1584c2 Fix repeat points not following slider snaking correctly 2018-01-18 21:06:47 +09:00
Dean Herbert
d0881e443b Merge remote-tracking branch 'upstream/master' into approach-rate 2018-01-12 18:05:16 +09:00
Dan Balasescu
9c602f8770
Merge branch 'master' into drawable-fruit-improvements 2018-01-09 22:06:16 +09:00
Dean Herbert
37d393bca0 Update licence headers 2018-01-05 20:21:19 +09:00
Dean Herbert
0cc8516aa3
Remove empty cases, add initial ball scale adjust. 2018-01-04 20:53:33 +09:00
Dean Herbert
717b263b77 Comment and better stacking of FadeOuts 2018-01-04 20:47:42 +09:00
Dean Herbert
1f62fe19d5 Make animation a bit more subtle 2018-01-04 20:43:42 +09:00
Dean Herbert
ffc7f7ecf4 Add a better slider "hit" state fade out animation 2018-01-04 20:16:10 +09:00
Dean Herbert
31865b4d96 Rename conflicting variable 2018-01-03 15:12:27 +09:00
Shawdooow
1502fde1b0 fix slider start circles 2017-12-31 12:04:31 -05:00
Shawdooow
064758b96d fixes 2017-12-31 11:30:58 -05:00
Aergwyn
ccb69d16d9 move HitResult in Scoring namespace to replace HitCount 2017-12-30 21:23:18 +01:00
Dean Herbert
a2840d2519 Fix FadeInDuration not being passed down to sliders' InitialCircle 2017-12-30 15:21:25 +09:00
Aergwyn
07040f9fd1 rename field 2017-12-29 17:52:28 +01:00
Aergwyn
0b23ceb781 fix slider fade out to be eased
+ move duration calculation to not be done twice
+ made Slider / Spinner private again as they are not accessed externally anymore
2017-12-28 15:36:27 +01:00