1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-12 10:57:27 +08:00
Commit Graph

175 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
Aergwyn
dbcf87267d Merge branch 'master' into standard-hd-support 2017-12-27 21:26:39 +01:00
smoogipoo
cb18baa4d8 Add HitCircle/Slider testcases 2017-12-27 17:34:07 +09:00
Aergwyn
4c2554595e implement hidden (mostly)
some things work and others don't, I dunno
2017-12-26 17:25:18 +01:00
Shawdooow
72b5a370da dont play the same sound twice at once 2017-12-23 23:13:53 -05:00
Dean Herbert
5026c7a95e SoundControlPoint -> SampleControlPoint 2017-12-23 16:34:34 +09:00
smoogipoo
6a29f6020a Make HitObjects construct nested hit objects 2017-12-22 21:42:54 +09:00
smoogipoo
cb7e192aff Determine SampleInfo defaults in DrawableHitObject 2017-12-21 16:02:33 +09:00
smoogipoo
a303bf71cf Give control over screen space conversion to DrawableHitObject 2017-12-11 22:19:02 +09:00
smoogipoo
cf859a6cf2 Make the dragger attach to objects it surrounds
Plus a lot more implementation.
2017-12-02 00:26:02 +09:00
smoogipoo
348083f589 Update with framework state transformation
Removes explicit initial state setting in DrawableOsuHitObjects.
2017-11-09 14:05:05 +09:00
Shawdooow
cfb1804aa1 address review 2017-09-27 11:28:44 -04:00
Shawdooow
b5ad6ae735 appveyor fixes 2017-09-26 12:21:39 -04:00
Shawdooow
adebe166d4 slider bouncers 2017-09-26 12:13:34 -04:00
smoogipooo
093d82ac45 Set depths from playfield add methods instead of DrawableHitObject 2017-09-13 16:17:01 +09:00
smoogipooo
7b30fc8a09 Fix osu! slider initial circles being placed at the wrong depth. 2017-09-13 00:43:30 +09:00
smoogipooo
ac8ec31b61 Make judgements able to be "added" plus make everything compile and run. 2017-09-06 17:02:13 +09:00
Dean Herbert
84c22df3f5 Combine Judgement.HitResults into one. 2017-09-06 17:01:48 +09:00
Thomas Müller
546efc0181 Get rid of AddDelay & ResetDelay in osu.Game.Rulesets.Osu 2017-07-17 17:05:24 +03:00
Thomas Müller
032e9df67b ApplyDelay -> AddDelay 2017-07-16 17:47:29 +03:00
Thomas Müller
71105bb9ee Delay -> ApplyDelay; DelayReset -> ResetDelay 2017-07-16 14:06:46 +03:00
Thomas Müller
a5e610a7ba Update framework and fix compilation
Most issues were related to BeginLoopedSequence usage and lack of
"this." in front of transform helpers.
2017-07-14 19:18:12 +03:00
Dean Herbert
7baa2b7421 Fix CI issues 2017-06-25 14:46:59 +09:00
Thomas Müller
f5829860a2 Get rid of AlwaysReceiveInput 2017-06-23 18:02:24 +02:00
Dean Herbert
4ab636cbb8 Update osu! drawables to use TransformSequences. 2017-04-27 17:37:38 +09:00
Dean Herbert
fbd26a1d5e
Mode -> Ruleset. 2017-04-18 16:05:58 +09:00