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
af65f2dd48
Move AccentColour changes local to rulesets which rely on it
2018-03-22 18:53:16 +09:00
Dean Herbert
366b7fca65
Remove GetColour method
2018-03-22 18:50:19 +09:00
Dean Herbert
c4fe6a04c5
Use string lookups for combo colours
2018-03-22 17:32:05 +09:00
Dan Balasescu
ab9505652b
Merge branch 'master' into skin--completion
2018-03-22 16:44:00 +09:00
Dean Herbert
78a8f60b39
IHasComboIndex -> IHasComboInformation
2018-03-22 12:35:17 +09:00
Dean Herbert
1a782a840c
Fix xmldoc
2018-03-22 12:34:29 +09:00
Dean Herbert
9ad4e9284a
Add skin source fallback chain
2018-03-20 16:40:11 +09:00
Dean Herbert
c38c26eacb
Move combo index processing to BeatmapProcessor
2018-03-20 15:57:43 +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
Dean Herbert
217dd2ecdc
Initial push for better decoders
2018-03-09 21:24:15 +09:00
smoogipoo
2a9fb2c2c6
Make NestedHitObjects lazily-constructed
2018-03-05 21:40:26 +09:00
smoogipoo
8a15d4e677
Fix linear perfect-curves not being cased to CurveType.Linear
...
Fixes #2151 .
2018-03-02 18:21:40 +09:00
Dean Herbert
5b4fef0180
Add bare minimum sanity checking of beatmap input values to make broken maps load
...
Resolves ppy/osu#1988 .
2018-02-28 18:12:24 +09:00
Dean Herbert
9cbed461c4
Merge branch 'master' into sliderbody-rework
2018-02-26 15:00:18 +09:00
Dean Herbert
4a52df2dd4
Apply review
2018-02-24 23:07:02 +09:00
Dean Herbert
768e0a4e2a
Add SkinnableSound class
...
Tidy things up, move logic out of SampleInfo.
2018-02-24 22:47:14 +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
Dean Herbert
6ceabfe19e
Add basic hitsound skinning
2018-02-23 13:38:12 +09:00
smoogipoo
f012cce668
Rewrite some xmldocs to make methods easier to understand
2018-02-21 17:33:22 +09:00
smoogipoo
4699b5ad7c
Fix a few code styling issues
...
These are present in the netstandard branch (the rules aren't working there - probably using the wrong configuration).
2018-02-08 23:47:03 +09:00
smoogipoo
0511728fbe
Remove "keypress" from comment
2018-02-08 17:38:46 +09:00
smoogipoo
46284c61ae
Return HitResult.None instead of null
2018-02-08 14:25:59 +09:00
smoogipoo
c537af0289
Fix/improve commends
2018-02-08 14:25:44 +09:00
smoogipoo
a6f1a4689e
Fix incorrect value copy-pasta
2018-02-08 14:16:37 +09:00
smoogipoo
802aaefe35
Give rulesets a way to disable/enable perfect/ok hit results
2018-02-08 13:54:08 +09:00
smoogipoo
cfdeac6428
Make hit windows settable by derived classes
2018-02-08 13:38:31 +09:00
smoogipoo
9225e883c1
Add + use HalfHitWindow
2018-02-02 20:29:50 +09:00
smoogipoo
6976347d64
Protect hit window values
2018-02-02 20:28:59 +09:00
smoogipoo
e45b26c742
Cleanup/minify HitWindows
2018-02-02 19:35:44 +09:00
smoogipoo
d371425c87
BAD -> MEH
2018-02-02 18:56:44 +09:00
smoogipoo
70462ebee3
Make HitWindows settable by derived HitObjects
2018-02-02 18:53:05 +09:00
smoogipoo
acf20c079c
General improvements around usage of HitWindows for mania
2018-02-02 18:47:54 +09:00
smoogipoo
558c53a6ba
Give HitObject some HitWindows
2018-02-02 18:47:10 +09:00
smoogipoo
a0c1662fb7
Move mania's HitWindows to osu.Game
2018-02-02 17:52:55 +09:00
smoogipoo
13f16077d4
Implement Catmull-Rom curve approximator
2018-02-01 20:04:41 +09:00
smoogipoo
b77f08941c
Make mania play the next note's sounds if no note is hit
...
Fixes #1911 .
This follows what osu!stable does, which is rather unfortunate, since it just plays _every_ sound for the note :|.
2018-01-24 20:05:37 +09:00
smoogipoo
d37844c068
Clean up off-by-one offsets from repeat-related properties
2018-01-23 13:37:25 +09:00
Dean Herbert
9b33499fe7
Merge remote-tracking branch 'upstream/master' into RefactorInputQueues
2018-01-16 20:04:34 +09:00
smoogipoo
0ae0dac192
Fix DrawableHitObject not binding nested hitobject events
2018-01-15 20:35:38 +09:00
Aergwyn
8ac6818639
expose IsHit
2018-01-13 16:26:14 +01:00
Dan Balasescu
ebb8550f53
Merge branch 'master' into shrink-drawablehitobject_t
2018-01-14 00:16:42 +09:00
Aergwyn
7875f0cb01
remove unnecessary internal
2018-01-13 16:15:41 +01:00
Aergwyn
356bb5da1e
move sample logic up too
2018-01-13 12:55:52 +01:00
Aergwyn
70fc09f81e
move judgement + state logic up to DrawableHitObject
2018-01-13 12:42:42 +01:00
Aergwyn
ae1adfd2f2
remove unnecessary empty lines
...
codefactor.io \(o.o)/
also one unnecessary semicolon
2018-01-12 19:30:34 +01:00
smoogipoo
9d00e5bb7d
Make ScrollingHitObjectContainer handle nested hitobjects
2018-01-11 15:08:30 +09:00
smoogipoo
9036ea92eb
Run child updates for nested hitobjects when parent hitobjects are masked
2018-01-10 18:29:46 +09:00
smoogipoo
86b5591583
Merge remote-tracking branch 'origin/master' into scrolling-hitobjects-rewrite
2018-01-10 18:02:49 +09:00